From a6f008281e2f75b19d6899eb932a787f5cdc200e Mon Sep 17 00:00:00 2001 From: OMGeeky Date: Sun, 18 Jun 2023 00:44:52 +0200 Subject: [PATCH] change test to data-test to make similar tests easier --- Cargo.toml | 1 + src/lib.rs | 35 ++++++++++++++--------------------- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d5c04df..3ccbd0a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,6 +23,7 @@ anyhow = "1.0.70" log = { version = "0.4" } tracing = { version = "0.1", optional = true } +data-test = "0.1.1" [patch.crates-io] # patch the yup-oauth2 version with a custom for to support forcing the user to choose an account. diff --git a/src/lib.rs b/src/lib.rs index 9e588a0..09fc96d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -841,33 +841,26 @@ fn duration_to_string(duration: &Duration) -> String { //region tests #[cfg(test)] mod tests { + + use data_test::data_test; use std::fs::File; use tokio::io::AsyncReadExt; use super::*; - #[test] - fn test_duration_to_string() { - let duration = Duration::seconds(0); - let res = duration_to_string(&duration); - assert_eq!(res, "00:00:00"); - - let duration = Duration::seconds(1); - let res = duration_to_string(&duration); - assert_eq!(res, "00:00:01"); - - let duration = Duration::seconds(60); - let res = duration_to_string(&duration); - assert_eq!(res, "00:01:00"); - - let duration = Duration::seconds(3600); - let res = duration_to_string(&duration); - assert_eq!(res, "01:00:00"); - - let duration = Duration::seconds(3600 + 60 + 1); - let res = duration_to_string(&duration); - assert_eq!(res, "01:01:01"); + data_test! { + fn test_duration_to_string_2(duration_in_seconds, string) => { + let duration = Duration::seconds(duration_in_seconds); + let res = duration_to_string(&duration); + debug!("duration: {}s => {}", duration_in_seconds, res); + assert_eq!(res, string); + } + - zero (0, "00:00:00") + - sec (1, "00:00:01") + - min (60, "00:01:00") + - hour (3600, "01:00:00") + - one (3600 + 60 + 1, "01:01:01") } #[tokio::test]