about summary refs log tree commit diff
path: root/src/libcoretest
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcoretest')
-rw-r--r--src/libcoretest/cmp.rs26
-rw-r--r--src/libcoretest/lib.rs1
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;