about summary refs log tree commit diff
path: root/library/alloc/tests
diff options
context:
space:
mode:
authorVojtech Kral <vojtech@kral.hk>2021-04-04 14:50:44 +0200
committerVojtech Kral <vojtech@kral.hk>2021-04-15 23:23:23 +0200
commite68680d30db3ba492827979b44c9f28e574e2274 (patch)
treeec4c58745735659a62048701f7f6f451ad31c148 /library/alloc/tests
parentbccbf9db1c799b4848c1742ddc6170e8fa94c965 (diff)
VecDeque: Add partition_point() #78021
Diffstat (limited to 'library/alloc/tests')
-rw-r--r--library/alloc/tests/vec_deque.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/library/alloc/tests/vec_deque.rs b/library/alloc/tests/vec_deque.rs
index 0919b1325bc..d7140cf9759 100644
--- a/library/alloc/tests/vec_deque.rs
+++ b/library/alloc/tests/vec_deque.rs
@@ -1700,6 +1700,24 @@ fn test_binary_search_by_key() {
 }
 
 #[test]
+fn test_partition_point() {
+    // Contiguous (front only) search:
+    let deque: VecDeque<_> = vec![1, 2, 3, 5, 6].into();
+    assert!(deque.as_slices().1.is_empty());
+    assert_eq!(deque.partition_point(|&v| v <= 3), 3);
+
+    // Split search (both front & back non-empty):
+    let mut deque: VecDeque<_> = vec![5, 6].into();
+    deque.push_front(3);
+    deque.push_front(2);
+    deque.push_front(1);
+    deque.push_back(10);
+    assert!(!deque.as_slices().0.is_empty());
+    assert!(!deque.as_slices().1.is_empty());
+    assert_eq!(deque.partition_point(|&v| v <= 5), 4);
+}
+
+#[test]
 fn test_zero_sized_push() {
     const N: usize = 8;