From ba08584aa60b87fac34a5e95d6e52648e4e87b1b Mon Sep 17 00:00:00 2001 From: o2sh Date: Sat, 25 Nov 2023 14:20:42 +0100 Subject: [PATCH] add unit tests for digit_difference --- src/info/author.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/info/author.rs b/src/info/author.rs index 2086436e9..14e1ec21a 100644 --- a/src/info/author.rs +++ b/src/info/author.rs @@ -81,8 +81,7 @@ impl AuthorsInfo { fn digit_difference(num1: usize, num2: usize) -> usize { let count_digits = |num: usize| (num.checked_ilog10().unwrap_or(0) + 1) as usize; - - count_digits(num1) - count_digits(num2) + count_digits(num1).abs_diff(count_digits(num2)) } impl std::fmt::Display for AuthorsInfo { @@ -129,6 +128,7 @@ mod test { use crate::ui::text_colors::TextColors; use insta::assert_snapshot; use owo_colors::DynColors; + use rstest::rstest; #[test] fn test_display_author() { @@ -276,4 +276,13 @@ mod test { assert_snapshot!(buffer); } + + #[rstest] + #[case(456, 123, 0)] + #[case(456789, 123, 3)] + #[case(1, 12, 1)] + fn test_digit_difference(#[case] num1: usize, #[case] num2: usize, #[case] expected: usize) { + let result = digit_difference(num1, num2); + assert_eq!(result, expected); + } }