mod numerical_duration {
use time::ext::NumericalDuration;
use time::Duration;
#[ test]
fn unsigned() {
assert_eq!(5 .nanoseconds(), Duration::nanoseconds(5 ));
assert_eq!(5 .microseconds(), Duration::microseconds(5 ));
assert_eq!(5 .milliseconds(), Duration::milliseconds(5 ));
assert_eq!(5 .seconds(), Duration::seconds(5 ));
assert_eq!(5 .minutes(), Duration::minutes(5 ));
assert_eq!(5 .hours(), Duration::hours(5 ));
assert_eq!(5 .days(), Duration::days(5 ));
assert_eq!(5 .weeks(), Duration::weeks(5 ));
}
#[ test]
fn signed() {
assert_eq!((-5 ).nanoseconds(), Duration::nanoseconds(-5 ));
assert_eq!((-5 ).microseconds(), Duration::microseconds(-5 ));
assert_eq!((-5 ).milliseconds(), Duration::milliseconds(-5 ));
assert_eq!((-5 ).seconds(), Duration::seconds(-5 ));
assert_eq!((-5 ).minutes(), Duration::minutes(-5 ));
assert_eq!((-5 ).hours(), Duration::hours(-5 ));
assert_eq!((-5 ).days(), Duration::days(-5 ));
assert_eq!((-5 ).weeks(), Duration::weeks(-5 ));
}
#[ test]
fn float() {
// Ensure values truncate rather than round.
assert_eq!(1 .9 .nanoseconds(), Duration::nanoseconds(1 ));
assert_eq!(1 .0 .nanoseconds(), Duration::nanoseconds(1 ));
assert_eq!(1 .0 .microseconds(), Duration::microseconds(1 ));
assert_eq!(1 .0 .milliseconds(), Duration::milliseconds(1 ));
assert_eq!(1 .0 .seconds(), Duration::seconds(1 ));
assert_eq!(1 .0 .minutes(), Duration::minutes(1 ));
assert_eq!(1 .0 .hours(), Duration::hours(1 ));
assert_eq!(1 .0 .days(), Duration::days(1 ));
assert_eq!(1 .0 .weeks(), Duration::weeks(1 ));
assert_eq!(1 .5 .nanoseconds(), Duration::nanoseconds(1 ));
assert_eq!(1 .5 .microseconds(), Duration::nanoseconds(1 _500 ));
assert_eq!(1 .5 .milliseconds(), Duration::microseconds(1 _500 ));
assert_eq!(1 .5 .seconds(), Duration::milliseconds(1 _500 ));
assert_eq!(1 .5 .minutes(), Duration::seconds(90 ));
assert_eq!(1 .5 .hours(), Duration::minutes(90 ));
assert_eq!(1 .5 .days(), Duration::hours(36 ));
assert_eq!(1 .5 .weeks(), Duration::hours(252 ));
}
#[ test]
fn arithmetic() {
assert_eq!(2 .seconds() + 500 .milliseconds(), 2 _500 .milliseconds());
assert_eq!(2 .seconds() - 500 .milliseconds(), 1 _500 .milliseconds());
}
}
mod numerical_std_duration {
use std::time::Duration as StdDuration;
use time::ext::NumericalStdDuration;
#[ test]
fn unsigned() {
assert_eq!(5 .std_nanoseconds(), StdDuration::from_nanos(5 ));
assert_eq!(5 .std_microseconds(), StdDuration::from_micros(5 ));
assert_eq!(5 .std_milliseconds(), StdDuration::from_millis(5 ));
assert_eq!(5 .std_seconds(), StdDuration::from_secs(5 ));
assert_eq!(5 .std_minutes(), StdDuration::from_secs(5 * 60 ));
assert_eq!(5 .std_hours(), StdDuration::from_secs(5 * 3 _600 ));
assert_eq!(5 .std_days(), StdDuration::from_secs(5 * 86 _400 ));
assert_eq!(5 .std_weeks(), StdDuration::from_secs(5 * 604 _800 ));
}
#[ test]
fn float() {
// Ensure values truncate rather than round.
assert_eq!(1 .9 .std_nanoseconds(), StdDuration::from_nanos(1 ));
assert_eq!(1 .0 .std_nanoseconds(), StdDuration::from_nanos(1 ));
assert_eq!(1 .0 .std_microseconds(), StdDuration::from_micros(1 ));
assert_eq!(1 .0 .std_milliseconds(), StdDuration::from_millis(1 ));
assert_eq!(1 .0 .std_seconds(), StdDuration::from_secs(1 ));
assert_eq!(1 .0 .std_minutes(), StdDuration::from_secs(60 ));
assert_eq!(1 .0 .std_hours(), StdDuration::from_secs(3 _600 ));
assert_eq!(1 .0 .std_days(), StdDuration::from_secs(86 _400 ));
assert_eq!(1 .0 .std_weeks(), StdDuration::from_secs(604 _800 ));
assert_eq!(1 .5 .std_nanoseconds(), StdDuration::from_nanos(1 ));
assert_eq!(1 .5 .std_microseconds(), StdDuration::from_nanos(1 _500 ));
assert_eq!(1 .5 .std_milliseconds(), StdDuration::from_micros(1 _500 ));
assert_eq!(1 .5 .std_seconds(), StdDuration::from_millis(1 _500 ));
assert_eq!(1 .5 .std_minutes(), StdDuration::from_secs(90 ));
assert_eq!(1 .5 .std_hours(), StdDuration::from_secs(90 * 60 ));
assert_eq!(1 .5 .std_days(), StdDuration::from_secs(36 * 3 _600 ));
assert_eq!(1 .5 .std_weeks(), StdDuration::from_secs(252 * 3 _600 ));
}
#[ test]
fn arithmetic() {
assert_eq!(
2 .std_seconds() + 500 .std_milliseconds(),
2 _500 .std_milliseconds()
);
assert_eq!(
2 .std_seconds() - 500 .std_milliseconds(),
1 _500 .std_milliseconds()
);
}
}
Messung V0.5 in Prozent C=99 H=100 G=99
¤ Dauer der Verarbeitung: 0.4 Sekunden
¤
*© Formatika GbR, Deutschland