Skip to content

Commit eddb29c

Browse files
authored
Add tests for (Partial)Ord impls (#210)
1 parent e7ff57e commit eddb29c

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

tests/mod.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use core::{
66
borrow::{Borrow, BorrowMut},
7+
cmp::Ordering,
78
mem::MaybeUninit,
89
};
910
use hybrid_array::{Array, ArrayN};
@@ -155,6 +156,30 @@ fn cast_slice_to_core_mut() {
155156
assert_eq!(slice[1], [3, 4]);
156157
}
157158

159+
#[test]
160+
fn cmp() {
161+
type A = Array<u8, U2>;
162+
let a1: A = Array([0, 0]);
163+
let a2: A = Array([0, 1]);
164+
let a3: A = Array([1, 0]);
165+
166+
assert_eq!(a1.cmp(&a1), Ordering::Equal);
167+
assert_eq!(a1.cmp(&a2), Ordering::Less);
168+
assert_eq!(a2.cmp(&a1), Ordering::Greater);
169+
assert_eq!(a2.cmp(&a2), Ordering::Equal);
170+
assert_eq!(a2.cmp(&a3), Ordering::Less);
171+
assert_eq!(a3.cmp(&a2), Ordering::Greater);
172+
assert_eq!(a3.cmp(&a3), Ordering::Equal);
173+
174+
assert_eq!(a1.partial_cmp(&a1), Some(Ordering::Equal));
175+
assert_eq!(a1.partial_cmp(&a2), Some(Ordering::Less));
176+
assert_eq!(a2.partial_cmp(&a1), Some(Ordering::Greater));
177+
assert_eq!(a2.partial_cmp(&a2), Some(Ordering::Equal));
178+
assert_eq!(a2.partial_cmp(&a3), Some(Ordering::Less));
179+
assert_eq!(a3.partial_cmp(&a2), Some(Ordering::Greater));
180+
assert_eq!(a3.partial_cmp(&a3), Some(Ordering::Equal));
181+
}
182+
158183
#[test]
159184
fn debug() {
160185
let arr: Array<u8, U3> = Array([1, 2, 3]);

0 commit comments

Comments
 (0)