extend the tests

This commit is contained in:
numzero 2026-09-23 21:11:11 +03:00
parent 628b2d05c9
commit ed66afe4b4

View File

@ -79,10 +79,10 @@ where
mod tests {
use super::*;
struct Small([u8; 48]);
struct Small([u32; 6]);
impl Iterator for Small {
type Item = u8;
type Item = u32;
fn next(&mut self) -> Option<Self::Item> {
let ret = self.0.get(self.0[0] as usize).copied();
self.0[0] += 1;
@ -92,16 +92,25 @@ mod tests {
#[test]
fn it_works() {
let mut it = Small([42; 48]);
let mut it = Small([0, 42, 13, 37, 29, 11]);
assert_eq!(it.next(), Some(0));
assert_eq!(it.next(), Some(42));
assert_eq!(it.next(), Some(13));
let mut it: Dyn<dyn Iterator<Item = u8>> = Small([42; 48]).into();
assert_eq!(it.next(), Some(42));
let mut it: Dyn<dyn Iterator<Item = u32>> = it.into();
assert_eq!(it.next(), Some(37));
assert_eq!(it.next(), Some(29));
assert_eq!(it.next(), Some(11));
assert_eq!(it.next(), None);
assert_eq!(it.next(), None);
}
#[test]
fn vec() {
let mut it: Dyn<dyn Iterator<Item = u8>> = vec![42; 48].into_iter().into();
let mut it: Dyn<dyn Iterator<Item = u8>> = vec![42, 13, 37].into_iter().into();
assert_eq!(it.next(), Some(42));
assert_eq!(it.next(), Some(13));
assert_eq!(it.next(), Some(37));
assert_eq!(it.next(), None);
}
}