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}