Skip to content

Commit 8ed8a41

Browse files
author
blake2-ppc
committed
std::iterator::order test cases
1 parent 5dde29c commit 8ed8a41

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

src/libstd/iterator.rs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1699,6 +1699,53 @@ pub mod order {
16991699
}
17001700
}
17011701
}
1702+
1703+
#[test]
1704+
fn test_lt() {
1705+
use vec::ImmutableVector;
1706+
1707+
let empty: [int, ..0] = [];
1708+
let xs = [1,2,3];
1709+
let ys = [1,2,0];
1710+
1711+
assert!(!lt(xs.iter(), ys.iter()));
1712+
assert!(!le(xs.iter(), ys.iter()));
1713+
assert!( gt(xs.iter(), ys.iter()));
1714+
assert!( ge(xs.iter(), ys.iter()));
1715+
1716+
assert!( lt(ys.iter(), xs.iter()));
1717+
assert!( le(ys.iter(), xs.iter()));
1718+
assert!(!gt(ys.iter(), xs.iter()));
1719+
assert!(!ge(ys.iter(), xs.iter()));
1720+
1721+
assert!( lt(empty.iter(), xs.iter()));
1722+
assert!( le(empty.iter(), xs.iter()));
1723+
assert!(!gt(empty.iter(), xs.iter()));
1724+
assert!(!ge(empty.iter(), xs.iter()));
1725+
1726+
// Sequence with NaN
1727+
let u = [1.0, 2.0];
1728+
let v = [0.0/0.0, 3.0];
1729+
1730+
assert!(!lt(u.iter(), v.iter()));
1731+
assert!(!le(u.iter(), v.iter()));
1732+
assert!(!gt(u.iter(), v.iter()));
1733+
assert!(!ge(u.iter(), v.iter()));
1734+
1735+
let a = [0.0/0.0];
1736+
let b = [1.0];
1737+
let c = [2.0];
1738+
1739+
assert!(lt(a.iter(), b.iter()) == (a[0] < b[0]));
1740+
assert!(le(a.iter(), b.iter()) == (a[0] <= b[0]));
1741+
assert!(gt(a.iter(), b.iter()) == (a[0] > b[0]));
1742+
assert!(ge(a.iter(), b.iter()) == (a[0] >= b[0]));
1743+
1744+
assert!(lt(c.iter(), b.iter()) == (c[0] < b[0]));
1745+
assert!(le(c.iter(), b.iter()) == (c[0] <= b[0]));
1746+
assert!(gt(c.iter(), b.iter()) == (c[0] > b[0]));
1747+
assert!(ge(c.iter(), b.iter()) == (c[0] >= b[0]));
1748+
}
17021749
}
17031750

17041751
#[cfg(test)]

0 commit comments

Comments
 (0)