Skip to content

Commit ae1c9eb

Browse files
committed
move iterator adaptor tests to iterator module
1 parent 962a753 commit ae1c9eb

File tree

2 files changed

+67
-66
lines changed

2 files changed

+67
-66
lines changed

src/libcore/iterator.rs

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,3 +260,70 @@ impl<A, T: Iterator<A>> Iterator<A> for TakeIterator<T> {
260260
}
261261
}
262262
}
263+
264+
#[cfg(test)]
265+
mod tests {
266+
use super::*;
267+
use prelude::*;
268+
269+
#[test]
270+
fn test_iterator_enumerate() {
271+
let xs = [0u, 1, 2, 3, 4, 5];
272+
let mut it = xs.iter().enumerate();
273+
for it.advance |(i, &x): (uint, &uint)| {
274+
assert_eq!(i, x);
275+
}
276+
}
277+
278+
#[test]
279+
fn test_iterator_take_while() {
280+
let xs = [0u, 1, 2, 3, 5, 13, 15, 16, 17, 19];
281+
let ys = [0u, 1, 2, 3, 5, 13];
282+
let mut it = xs.iter().take_while(|&x| *x < 15u);
283+
let mut i = 0;
284+
for it.advance |&x: &uint| {
285+
assert_eq!(x, ys[i]);
286+
i += 1;
287+
}
288+
assert_eq!(i, ys.len());
289+
}
290+
291+
#[test]
292+
fn test_iterator_skip_while() {
293+
let xs = [0u, 1, 2, 3, 5, 13, 15, 16, 17, 19];
294+
let ys = [15, 16, 17, 19];
295+
let mut it = xs.iter().skip_while(|&x| *x < 15u);
296+
let mut i = 0;
297+
for it.advance |&x: &uint| {
298+
assert_eq!(x, ys[i]);
299+
i += 1;
300+
}
301+
assert_eq!(i, ys.len());
302+
}
303+
304+
#[test]
305+
fn test_iterator_skip() {
306+
let xs = [0u, 1, 2, 3, 5, 13, 15, 16, 17, 19, 20, 30];
307+
let ys = [13, 15, 16, 17, 19, 20, 30];
308+
let mut it = xs.iter().skip(5);
309+
let mut i = 0;
310+
for it.advance |&x: &uint| {
311+
assert_eq!(x, ys[i]);
312+
i += 1;
313+
}
314+
assert_eq!(i, ys.len());
315+
}
316+
317+
#[test]
318+
fn test_iterator_take() {
319+
let xs = [0u, 1, 2, 3, 5, 13, 15, 16, 17, 19];
320+
let ys = [0u, 1, 2, 3, 5];
321+
let mut it = xs.iter().take(5);
322+
let mut i = 0;
323+
for it.advance |&x: &uint| {
324+
assert_eq!(x, ys[i]);
325+
i += 1;
326+
}
327+
assert_eq!(i, ys.len());
328+
}
329+
}

src/libcore/vec.rs

Lines changed: 0 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -4474,70 +4474,4 @@ mod tests {
44744474
i += 1;
44754475
}
44764476
}
4477-
4478-
#[test]
4479-
fn test_iterator_enumerate() {
4480-
use iterator::*;
4481-
let xs = [0u, 1, 2, 3, 4, 5];
4482-
let mut it = xs.iter().enumerate();
4483-
for it.advance |(i, &x): (uint, &uint)| {
4484-
assert_eq!(i, x);
4485-
}
4486-
}
4487-
4488-
#[test]
4489-
fn test_iterator_takewhile() {
4490-
use iterator::*;
4491-
let xs = [0u, 1, 2, 3, 5, 13, 15, 16, 17, 19];
4492-
let ys = [0u, 1, 2, 3, 5, 13];
4493-
let mut it = xs.iter().takewhile(|&x| *x < 15u);
4494-
let mut i = 0;
4495-
for it.advance |&x: &uint| {
4496-
assert_eq!(x, ys[i]);
4497-
i += 1;
4498-
}
4499-
assert_eq!(i, ys.len());
4500-
}
4501-
4502-
#[test]
4503-
fn test_iterator_dropwhile() {
4504-
use iterator::*;
4505-
let xs = [0u, 1, 2, 3, 5, 13, 15, 16, 17, 19];
4506-
let ys = [15, 16, 17, 19];
4507-
let mut it = xs.iter().dropwhile(|&x| *x < 15u);
4508-
let mut i = 0;
4509-
for it.advance |&x: &uint| {
4510-
assert_eq!(x, ys[i]);
4511-
i += 1;
4512-
}
4513-
assert_eq!(i, ys.len());
4514-
}
4515-
4516-
#[test]
4517-
fn test_iterator_skip() {
4518-
use iterator::*;
4519-
let xs = [0u, 1, 2, 3, 5, 13, 15, 16, 17, 19, 20, 30];
4520-
let ys = [13, 15, 16, 17, 19, 20, 30];
4521-
let mut it = xs.iter().skip(5);
4522-
let mut i = 0;
4523-
for it.advance |&x: &uint| {
4524-
assert_eq!(x, ys[i]);
4525-
i += 1;
4526-
}
4527-
assert_eq!(i, ys.len());
4528-
}
4529-
4530-
#[test]
4531-
fn test_iterator_take() {
4532-
use iterator::*;
4533-
let xs = [0u, 1, 2, 3, 5, 13, 15, 16, 17, 19];
4534-
let ys = [0u, 1, 2, 3, 5];
4535-
let mut it = xs.iter().take(5);
4536-
let mut i = 0;
4537-
for it.advance |&x: &uint| {
4538-
assert_eq!(x, ys[i]);
4539-
i += 1;
4540-
}
4541-
assert_eq!(i, ys.len());
4542-
}
45434477
}

0 commit comments

Comments
 (0)