//! collections::deque::Deque`.
use std::cmp;
+use std::fmt;
+use std::fmt::Show;
use std::iter::RandomAccessIterator;
use deque::Deque;
}
}
+impl<T: Show> Show for RingBuf<T> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ try!(write!(f, "["));
+
+ for (i, e) in self.iter().enumerate() {
+ if i != 0 { try!(write!(f, ", ")); }
+ try!(write!(f, "{}", *e));
+ }
+
+ write!(f, "]")
+ }
+}
+
#[cfg(test)]
mod tests {
extern crate test;
e.clear();
assert!(e == RingBuf::new());
}
+
+ #[test]
+ fn test_show() {
+ let ringbuf: RingBuf<int> = range(0, 10).collect();
+ assert!(format!("{}", ringbuf).as_slice() == "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]");
+
+ let ringbuf: RingBuf<&str> = vec!["just", "one", "test", "more"].iter()
+ .map(|&s| s)
+ .collect();
+ assert!(format!("{}", ringbuf).as_slice() == "[just, one, test, more]");
+ }
}