mirror of
https://gitlab.com/Anson-Projects/zine.git
synced 2025-06-15 05:06:39 +00:00
New test to find duplicate feed entries
This commit is contained in:
parent
88dd7d9982
commit
66c1063585
@ -1,3 +1,4 @@
|
||||
use std::collections::HashMap;
|
||||
use std::collections::HashSet;
|
||||
use std::fs;
|
||||
|
||||
@ -29,3 +30,28 @@ fn test_if_feeds_lists_have_overlapping_feed() {
|
||||
let set2: HashSet<_> = read_feed("featured_feeds.txt").into_iter().collect();
|
||||
assert!(set1.is_disjoint(&set2));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_if_duplicates_in_feeds_list() {
|
||||
let mut urls = read_feed("feeds.txt");
|
||||
|
||||
urls.sort();
|
||||
|
||||
let duplicates = urls
|
||||
.into_iter()
|
||||
.fold(HashMap::new(), |mut map, x| {
|
||||
*map.entry(x).or_insert(0) += 1;
|
||||
map
|
||||
})
|
||||
.into_iter()
|
||||
.filter(|(_, count)| *count > 1)
|
||||
.map(|(item, _)| item)
|
||||
.collect::<Vec<String>>();
|
||||
|
||||
if !duplicates.is_empty() {
|
||||
for dupe in duplicates {
|
||||
println!("{}", dupe)
|
||||
}
|
||||
panic!("Duplicate entries found!")
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user