From c28c69bfe6e3c16b3e4fb95ef4f80c508e88adaa Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Fri, 17 Apr 2020 23:41:07 +0200 Subject: [PATCH] Add some tests --- lib/media_time/src/media_time.rs | 15 +++++++++++++++ lib/media_time/src/tests.rs | 23 +++++++++++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/lib/media_time/src/media_time.rs b/lib/media_time/src/media_time.rs index e0c1cb0..0b99be0 100644 --- a/lib/media_time/src/media_time.rs +++ b/lib/media_time/src/media_time.rs @@ -46,6 +46,21 @@ impl MediaTime { pub fn seconds(&self) -> i64 { self.0.whole_seconds() } + + #[inline(always)] + pub fn milliseconds(&self) -> i128 { + self.0.whole_milliseconds() + } + + #[inline(always)] + pub fn microseconds(&self) -> i128 { + self.0.whole_microseconds() + } + + #[inline(always)] + pub fn nanoseconds(&self) -> i128 { + self.0.whole_nanoseconds() + } } impl std::fmt::Display for MediaTime { diff --git a/lib/media_time/src/tests.rs b/lib/media_time/src/tests.rs index 2837a57..0aee5d7 100644 --- a/lib/media_time/src/tests.rs +++ b/lib/media_time/src/tests.rs @@ -1,4 +1,23 @@ +use crate::MediaTime; +use fraction::Fraction; + #[test] -fn it_works() { - assert_eq!(2 + 2, 4); +fn from_millis_works() { + assert_eq!(MediaTime::from_millis(0).seconds(), 0); + assert_eq!(MediaTime::from_millis(1357).seconds(), 1); + assert_eq!(MediaTime::from_millis(1357).milliseconds(), 1357); +} + +#[test] +fn from_seconds_works() { + assert_eq!(MediaTime::from_seconds(0).seconds(), 0); + assert_eq!(MediaTime::from_seconds(1357).seconds(), 1357); + assert_eq!(MediaTime::from_seconds(1357).milliseconds(), 1357000); +} + +#[test] +fn from_rational_works() { + assert_eq!(MediaTime::from_rational(0, &Fraction::new(1u64, 1u64)).unwrap().seconds(), 0); + assert_eq!(MediaTime::from_rational(1357, &Fraction::new(1u64, 1u64)).unwrap().seconds(), 1357); + assert_eq!(MediaTime::from_rational(30, &Fraction::new(1u64, 3u64)).unwrap().seconds(), 10); } -- GitLab