From bd65144d945b75588d6567d5ffb36aca4513d4a4 Mon Sep 17 00:00:00 2001 From: Manuel Simon Date: Wed, 7 Aug 2019 21:31:35 +0200 Subject: [PATCH] Add tests for implementations of `Norm` and `Distance`. --- src/dist.rs | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/dist.rs b/src/dist.rs index 014a6e0..d0017cc 100644 --- a/src/dist.rs +++ b/src/dist.rs @@ -131,4 +131,36 @@ norm_impl_self!(u8 u16 u32 u64 usize); norm_impl_unsigned_output!(i128, u128); #[cfg(has_u128)] -norm_impl_self!(u128); \ No newline at end of file +norm_impl_self!(u128); + + +#[test] +fn norm_floating_point() { + assert_eq!((-2.0f32).norm(), 2.0); + assert_eq!((-3.0f64).norm(), 3.0); +} + +#[test] +fn distance_floating_point() { + assert_eq!((5.0f32).distance(&3.0), 2.0); + assert_eq!((2.0f32).distance(&-3.0), 5.0); + assert_eq!((1.0f64).distance(&4.0), 3.0); +} + +#[test] +fn norm_unsigned_integer() { + assert_eq!(2u8.norm(), 2); + assert_eq!(3u16.norm(), 3); + assert_eq!(4u32.norm(), 4); + assert_eq!(5u64.norm(), 5); + assert_eq!(6usize.norm(), 6); +} + +#[test] +fn norm_signed_integer() { + assert_eq!((-2i8).norm(), 2); + assert_eq!((-3i16).norm(), 3); + assert_eq!((-4i32).norm(), 4); + assert_eq!((-5i64).norm(), 5); + assert_eq!((-6isize).norm(), 6); +} \ No newline at end of file