From 8787b2ad4575ece17029420c281cfc9df4e88cef Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 6 Apr 2026 09:02:03 -0600 Subject: [PATCH] Add tests for `(Partial)Ord` impls --- tests/mod.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/mod.rs b/tests/mod.rs index 0698fe5..b657a23 100644 --- a/tests/mod.rs +++ b/tests/mod.rs @@ -4,6 +4,7 @@ use core::{ borrow::{Borrow, BorrowMut}, + cmp::Ordering, mem::MaybeUninit, }; use hybrid_array::{Array, ArrayN}; @@ -155,6 +156,30 @@ fn cast_slice_to_core_mut() { assert_eq!(slice[1], [3, 4]); } +#[test] +fn cmp() { + type A = Array; + let a1: A = Array([0, 0]); + let a2: A = Array([0, 1]); + let a3: A = Array([1, 0]); + + assert_eq!(a1.cmp(&a1), Ordering::Equal); + assert_eq!(a1.cmp(&a2), Ordering::Less); + assert_eq!(a2.cmp(&a1), Ordering::Greater); + assert_eq!(a2.cmp(&a2), Ordering::Equal); + assert_eq!(a2.cmp(&a3), Ordering::Less); + assert_eq!(a3.cmp(&a2), Ordering::Greater); + assert_eq!(a3.cmp(&a3), Ordering::Equal); + + assert_eq!(a1.partial_cmp(&a1), Some(Ordering::Equal)); + assert_eq!(a1.partial_cmp(&a2), Some(Ordering::Less)); + assert_eq!(a2.partial_cmp(&a1), Some(Ordering::Greater)); + assert_eq!(a2.partial_cmp(&a2), Some(Ordering::Equal)); + assert_eq!(a2.partial_cmp(&a3), Some(Ordering::Less)); + assert_eq!(a3.partial_cmp(&a2), Some(Ordering::Greater)); + assert_eq!(a3.partial_cmp(&a3), Some(Ordering::Equal)); +} + #[test] fn debug() { let arr: Array = Array([1, 2, 3]);