use std::cmp::Ordering::{Equal, Greater, Less}; #[test] fn test_clone() { let a = (1, "2"); let b = a.clone(); assert_eq!(a, b); } #[test] fn test_partial_eq() { let (small, big) = ((1, 2, 3), (3, 2, 1)); assert_eq!(small, small); assert_eq!(big, big); assert_ne!(small, big); assert_ne!(big, small); } #[test] fn test_partial_ord() { let (small, big) = ((1, 2, 3), (3, 2, 1)); assert!(small < big); assert!(!(small < small)); assert!(!(big < small)); assert!(!(big < big)); assert!(small <= small); assert!(big <= big); assert!(big > small); assert!(small >= small); assert!(big >= small); assert!(big >= big); assert!(!((1.0f64, 2.0f64) < (f64::NAN, 3.0))); assert!(!((1.0f64, 2.0f64) <= (f64::NAN, 3.0))); assert!(!((1.0f64, 2.0f64) > (f64::NAN, 3.0))); assert!(!((1.0f64, 2.0f64) >= (f64::NAN, 3.0))); assert!(((1.0f64, 2.0f64) < (2.0, f64::NAN))); assert!(!((2.0f64, 2.0f64) < (2.0, f64::NAN))); } #[test] fn test_ord() { let (small, big) = ((1, 2, 3), (3, 2, 1)); assert_eq!(small.cmp(&small), Equal); assert_eq!(big.cmp(&big), Equal); assert_eq!(small.cmp(&big), Less); assert_eq!(big.cmp(&small), Greater); } #[test] fn test_show() { let s = format!("{:?}", (1,)); assert_eq!(s, "(1,)"); let s = format!("{:?}", (1, true)); assert_eq!(s, "(1, true)"); let s = format!("{:?}", (1, "hi", true)); assert_eq!(s, "(1, \"hi\", true)"); }