From d41c91c1fa6633754e7c88ab45224aedd5b5ed92 Mon Sep 17 00:00:00 2001 From: Marcin Fatyga Date: Sun, 9 Oct 2016 10:46:11 +0200 Subject: Add or and or_else for ordering. --- src/libcoretest/cmp.rs | 26 ++++++++++++++++++++++++++ src/libcoretest/lib.rs | 1 + 2 files changed, 27 insertions(+) (limited to 'src/libcoretest') 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 @@ -41,6 +41,32 @@ fn test_ordering_order() { assert_eq!(Greater.cmp(&Less), Greater); } +#[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. 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; -- cgit 1.4.1-3-g733a5