diff options
Diffstat (limited to 'src/libcoretest')
| -rw-r--r-- | src/libcoretest/cmp.rs | 26 | ||||
| -rw-r--r-- | src/libcoretest/lib.rs | 1 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/libcoretest/cmp.rs b/src/libcoretest/cmp.rs index 051356cad16..94f66e4d151 100644 --- a/src/libcoretest/cmp.rs +++ b/src/libcoretest/cmp.rs @@ -42,6 +42,32 @@ fn test_ordering_order() { } #[test] +fn test_ordering_or() { + assert_eq!(Equal.or(Less), Less); + assert_eq!(Equal.or(Equal), Equal); + assert_eq!(Equal.or(Greater), Greater); + assert_eq!(Less.or(Less), Less); + assert_eq!(Less.or(Equal), Less); + assert_eq!(Less.or(Greater), Less); + assert_eq!(Greater.or(Less), Greater); + assert_eq!(Greater.or(Equal), Greater); + assert_eq!(Greater.or(Greater), Greater); +} + +#[test] +fn test_ordering_or_else() { + assert_eq!(Equal.or_else(|| Less), Less); + assert_eq!(Equal.or_else(|| Equal), Equal); + assert_eq!(Equal.or_else(|| Greater), Greater); + assert_eq!(Less.or_else(|| Less), Less); + assert_eq!(Less.or_else(|| Equal), Less); + assert_eq!(Less.or_else(|| Greater), Less); + assert_eq!(Greater.or_else(|| Less), Greater); + assert_eq!(Greater.or_else(|| Equal), Greater); + assert_eq!(Greater.or_else(|| Greater), Greater); +} + +#[test] fn test_user_defined_eq() { // Our type. struct SketchyNum { diff --git a/src/libcoretest/lib.rs b/src/libcoretest/lib.rs index 590bf478aa7..aad0d2fedaa 100644 --- a/src/libcoretest/lib.rs +++ b/src/libcoretest/lib.rs @@ -34,6 +34,7 @@ #![feature(unique)] #![feature(iter_max_by)] #![feature(iter_min_by)] +#![feature(ordering_chaining)] extern crate core; extern crate test; |
