about summary refs log tree commit diff
path: root/src/libcoretest
diff options
context:
space:
mode:
authorMarcin Fatyga <marcinf@google.com>2016-10-09 10:46:11 +0200
committerMarcin Fatyga <marcinf@google.com>2016-10-09 12:01:17 +0200
commitd41c91c1fa6633754e7c88ab45224aedd5b5ed92 (patch)
tree157365b97cb1be9d1aa1b45ddbf03c727030dc9a /src/libcoretest
parentc6673db58d117d5c554559ae51b4ddf0aae3de00 (diff)
downloadrust-d41c91c1fa6633754e7c88ab45224aedd5b5ed92.tar.gz
rust-d41c91c1fa6633754e7c88ab45224aedd5b5ed92.zip
Add or and or_else for ordering.
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;