zero_pad/
lib.rs

1use std::fmt::Display;
2
3pub fn zero_pad<T: Display>(num: T, min_length: usize) -> String {
4    format!("{:0>width$}", num, width = min_length)
5}
6
7
8#[cfg(test)]
9mod tests {
10    use super::*;
11
12    #[test]
13    fn one_digit() {
14        assert_eq!(zero_pad(1, 6), "000001");
15    }
16
17    #[test]
18    fn two_digits() {
19        assert_eq!(zero_pad(23, 6), "000023");
20    }
21
22    #[test]
23    fn no_need() {
24        assert_eq!(zero_pad(123456, 6), "123456");
25    }
26
27    #[test]
28    fn extra() {
29        assert_eq!(zero_pad(1234567, 6), "1234567");
30    }
31}