Skip to content

Commit 28c4d12

Browse files
committed
Add test for [u8]'s Ord (and fix the old test for ord)
The old test for Ord used no asserts, and appeared to have a wrong test. (!).
1 parent 5d56e1d commit 28c4d12

File tree

1 file changed

+36
-6
lines changed

1 file changed

+36
-6
lines changed

src/libcollectionstest/slice.rs

+36-6
Original file line numberDiff line numberDiff line change
@@ -574,18 +574,48 @@ fn test_slice_2() {
574574
assert_eq!(v[1], 3);
575575
}
576576

577+
macro_rules! assert_order {
578+
(Greater, $a:expr, $b:expr) => {
579+
assert_eq!($a.cmp($b), Greater);
580+
assert!($a > $b);
581+
};
582+
(Less, $a:expr, $b:expr) => {
583+
assert_eq!($a.cmp($b), Less);
584+
assert!($a < $b);
585+
};
586+
(Equal, $a:expr, $b:expr) => {
587+
assert_eq!($a.cmp($b), Equal);
588+
assert_eq!($a, $b);
589+
}
590+
}
591+
592+
#[test]
593+
fn test_total_ord_u8() {
594+
let c = &[1u8, 2, 3];
595+
assert_order!(Greater, &[1u8, 2, 3, 4][..], &c[..]);
596+
let c = &[1u8, 2, 3, 4];
597+
assert_order!(Less, &[1u8, 2, 3][..], &c[..]);
598+
let c = &[1u8, 2, 3, 6];
599+
assert_order!(Equal, &[1u8, 2, 3, 6][..], &c[..]);
600+
let c = &[1u8, 2, 3, 4, 5, 6];
601+
assert_order!(Less, &[1u8, 2, 3, 4, 5, 5, 5, 5][..], &c[..]);
602+
let c = &[1u8, 2, 3, 4];
603+
assert_order!(Greater, &[2u8, 2][..], &c[..]);
604+
}
605+
606+
577607
#[test]
578-
fn test_total_ord() {
608+
fn test_total_ord_i32() {
579609
let c = &[1, 2, 3];
580-
[1, 2, 3, 4][..].cmp(c) == Greater;
610+
assert_order!(Greater, &[1, 2, 3, 4][..], &c[..]);
581611
let c = &[1, 2, 3, 4];
582-
[1, 2, 3][..].cmp(c) == Less;
612+
assert_order!(Less, &[1, 2, 3][..], &c[..]);
583613
let c = &[1, 2, 3, 6];
584-
[1, 2, 3, 4][..].cmp(c) == Equal;
614+
assert_order!(Equal, &[1, 2, 3, 6][..], &c[..]);
585615
let c = &[1, 2, 3, 4, 5, 6];
586-
[1, 2, 3, 4, 5, 5, 5, 5][..].cmp(c) == Less;
616+
assert_order!(Less, &[1, 2, 3, 4, 5, 5, 5, 5][..], &c[..]);
587617
let c = &[1, 2, 3, 4];
588-
[2, 2][..].cmp(c) == Greater;
618+
assert_order!(Greater, &[2, 2][..], &c[..]);
589619
}
590620

591621
#[test]

0 commit comments

Comments
 (0)