about summary refs log tree commit diff
path: root/src/libcore/tests
diff options
context:
space:
mode:
authorKevin Leimkuhler <kevin@kleimkuhler.com>2018-10-11 15:59:54 -0700
committerKevin Leimkuhler <kevin@kleimkuhler.com>2019-01-17 22:34:43 -0800
commit02477f6f99c22509825a85bd090e42f935b33983 (patch)
tree7aeca0eade74c1122439e2efe69c5589289512dd /src/libcore/tests
parent8dea0d0172d5a50b75dbde8ece24201f0d5b2125 (diff)
downloadrust-02477f6f99c22509825a85bd090e42f935b33983.tar.gz
rust-02477f6f99c22509825a85bd090e42f935b33983.zip
Add is_sorted impl for [T]
Diffstat (limited to 'src/libcore/tests')
-rw-r--r--src/libcore/tests/slice.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libcore/tests/slice.rs b/src/libcore/tests/slice.rs
index 2c96efbda76..e210e83122c 100644
--- a/src/libcore/tests/slice.rs
+++ b/src/libcore/tests/slice.rs
@@ -1317,3 +1317,18 @@ fn test_copy_within_panics_src_inverted() {
     // 2 is greater than 1, so this range is invalid.
     bytes.copy_within(2..1, 0);
 }
+
+#[test]
+fn test_is_sorted() {
+    let empty: [i32; 0] = [];
+
+    assert!([1, 2, 2, 9].is_sorted());
+    assert!(![1, 3, 2].is_sorted());
+    assert!([0].is_sorted());
+    assert!(empty.is_sorted());
+    assert!(![0.0, 1.0, std::f32::NAN].is_sorted());
+    assert!([-2, -1, 0, 3].is_sorted());
+    assert!(![-2i32, -1, 0, 3].is_sorted_by_key(|n| n.abs()));
+    assert!(!["c", "bb", "aaa"].is_sorted());
+    assert!(["c", "bb", "aaa"].is_sorted_by_key(|s| s.len()));
+}