mirror of
https://gitlab.com/Anson-Projects/zine.git
synced 2025-08-01 11:11:32 +00:00
New test to find duplicate feed entries
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
use std::collections::HashMap;
|
||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
use std::fs;
|
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();
|
let set2: HashSet<_> = read_feed("featured_feeds.txt").into_iter().collect();
|
||||||
assert!(set1.is_disjoint(&set2));
|
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!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user