]> git.mikk.net Git - mtbl-rs/commitdiff
Flesh out 'generic merger' test
authorChris Mikkelson <cmikk@fsi.io>
Wed, 24 Jul 2024 18:22:46 +0000 (13:22 -0500)
committerChris Mikkelson <cmikk@fsi.io>
Wed, 24 Jul 2024 18:22:46 +0000 (13:22 -0500)
src/entry.rs
src/source.rs

index 4e88f5a124c4221bfd7b3e1b6a2143cc3ee17a0b..5a4cf4af63ce5d2a53628505b0d3f67163d458fd 100644 (file)
@@ -1,6 +1,6 @@
 use std::sync::Arc;
 
-#[derive(Debug, Clone)]
+#[derive(Debug, Clone, PartialEq, Eq)]
 pub struct Entry {
     pub key: Arc<Vec<u8>>,
     pub value: Arc<Vec<u8>>,
index 6836b931441aa3f2d52b8b92f461e6eff4c2e7cb..0c76f64772df5fcac4b15f3c1a96692bd627782c 100644 (file)
@@ -285,9 +285,11 @@ pub mod test {
         use crate::merger::Merger;
         let ts = test_source();
         let mut v = Vec::<GenericSource>::new();
-        let s = GenericSource::from(&ts);
-        v.push(s);
+        v.push(GenericSource::from(&ts));
+        v.push(GenericSource::from(&ts));
+        let mut refv = Vec::<Entry>::from_iter((&ts).iter().chain((&ts).iter()));
+        refv.sort_by(|a, b| a.key.as_ref().cmp(b.key.as_ref()));
         let gs = Merger::from(v);
-        gs.iter();
+        assert_eq!(Vec::from_iter(gs.iter()), refv);
     }
 }