Skip to content

Commit ba08584

Browse files
committed
add unit tests for digit_difference
1 parent 3186493 commit ba08584

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/info/author.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ impl AuthorsInfo {
8181

8282
fn digit_difference(num1: usize, num2: usize) -> usize {
8383
let count_digits = |num: usize| (num.checked_ilog10().unwrap_or(0) + 1) as usize;
84-
85-
count_digits(num1) - count_digits(num2)
84+
count_digits(num1).abs_diff(count_digits(num2))
8685
}
8786

8887
impl std::fmt::Display for AuthorsInfo {
@@ -129,6 +128,7 @@ mod test {
129128
use crate::ui::text_colors::TextColors;
130129
use insta::assert_snapshot;
131130
use owo_colors::DynColors;
131+
use rstest::rstest;
132132

133133
#[test]
134134
fn test_display_author() {
@@ -276,4 +276,13 @@ mod test {
276276

277277
assert_snapshot!(buffer);
278278
}
279+
280+
#[rstest]
281+
#[case(456, 123, 0)]
282+
#[case(456789, 123, 3)]
283+
#[case(1, 12, 1)]
284+
fn test_digit_difference(#[case] num1: usize, #[case] num2: usize, #[case] expected: usize) {
285+
let result = digit_difference(num1, num2);
286+
assert_eq!(result, expected);
287+
}
279288
}

0 commit comments

Comments
 (0)