From bfc1b25fcd31958a30cd13b9fa28f1527c625ee6 Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Mon, 15 Dec 2014 20:10:25 -0800 Subject: [PATCH] add a test for using the std::io::extensions::Bytes iterator --- benches/bench_log.rs | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/benches/bench_log.rs b/benches/bench_log.rs index 8fc6a813..4c228241 100644 --- a/benches/bench_log.rs +++ b/benches/bench_log.rs @@ -1624,3 +1624,43 @@ fn bench_iter_manual_iter_deserializers(b: &mut Bencher) { let _ = manual_iter_deserialize(JSON_STR.bytes()); } } + +////////////////////////////////////////////////////////////////////////////// + +#[test] +fn test_iter_manual_reader_as_iter_deserializer() { + use std::io::extensions::Bytes; + + let iter = Bytes::new(&mut JSON_STR.as_bytes()) + .map(|x| x.unwrap()); + + let log = manual_iter_deserialize(iter); + + assert_eq!(log, Log::new()); +} + +#[bench] +fn bench_iter_manual_reader_as_iter_deserializer(b: &mut Bencher) { + use std::io::extensions::Bytes; + + b.bytes = JSON_STR.len() as u64; + + b.iter(|| { + let iter = Bytes::new(&mut JSON_STR.as_bytes()) + .map(|x| x.unwrap()); + + let _ = manual_iter_deserialize(iter); + }); +} + +#[bench] +fn bench_iter_manual_reader_as_iter_deserializers(b: &mut Bencher) { + b.bytes = JSON_STR.len() as u64; + + for _ in range(0i, 10000) { + let iter = Bytes::new(&mut JSON_STR.as_bytes()) + .map(|x| x.unwrap()); + + let _ = manual_iter_deserialize(iter); + } +}