changeset 47:d792f0788069

Add test function for merging actual text files
author Lewin Bormann <lbo@spheniscida.de>
date Tue, 02 Feb 2016 21:22:40 +0000
parents 17cd79f05e93
children e84f5abf7dc5
files src/shard_merge.rs
diffstat 1 files changed, 23 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/shard_merge.rs	Tue Feb 02 07:44:47 2016 +0000
+++ b/src/shard_merge.rs	Tue Feb 02 21:22:40 2016 +0000
@@ -180,4 +180,27 @@
                    get_collection_3().len() + get_collection_4().len() +
                    get_collection_5().len() + get_collection_6().len());
     }
+
+    use formats::lines;
+    use std::fmt;
+    use std::io::Write;
+
+    use std::cmp::Ord;
+
+    fn test_merge_large_files() {
+        let mut files = Vec::with_capacity(11);
+
+        for i in 0..11 {
+            let name = fmt::format(format_args!("testdata/sorted{}.txt", i));
+            files.push(lines::new_from_file(&name).unwrap());
+        }
+
+        let merge_it = ShardMergeIterator::build(&mut files.into_iter());
+
+        let mut outfile = lines::LinesWriter::new_to_file(&String::from("testdata/all_sorted.txt")).unwrap();
+
+        for line in merge_it {
+            outfile.write(line.as_bytes());
+        }
+    }
 }