use units::{self, Eval};
#[test]
fn simple_mass() {
assert_eq!(units::Mass::new(10.0).eval(), 10.0);
}
#[test]
fn simple_time() {
assert_eq!(units::Time::new(10.0).eval(), 10.0);
}
#[test]
fn simple_length() {
assert_eq!(units::Length::new(10.0).eval(), 10.0);
}
#[test]
fn length_velocity_time() {
let length = units::Length::new(10.0);
let time = units::Time::new(2.0);
let velocity = length.velocity_time(time);
assert_eq!(velocity.eval(), 5.0);
}
#[test]
fn simple_velocity() {
assert_eq!(units::Velocity::new(10.0).eval(), 10.0);
}
#[test]
fn velocity_displacement_time() {
let velocity = units::Velocity::new(10.0);
let time = units::Time::new(10.0);
let displacement = velocity.displacement_time(time);
assert_eq!(displacement.eval(), 100.0);
}
#[test]
fn velocity_acceleration_time() {
let velocity = units::Velocity::new(10.0);
let time = units::Time::new(2.0);
let acceleration = velocity.acceleration_time(time);
assert_eq!(acceleration.eval(), 5.0);
}
#[test]
fn simple_acceleration() {
assert_eq!(units::Acceleration::new(10.0).eval(), 10.0);
}
#[test]
fn acceleration_velocity_time() {
let acceleration = units::Acceleration::new(10.0);
let time = units::Time::new(2.0);
let velocity = acceleration.velocity_time(time);
assert_eq!(velocity.eval(), 20.0);
}
#[test]
fn simple_force() {
assert_eq!(units::Force::new(10.0).eval(), 10.0);
}
#[test]
fn force_acceleration_mass() {
let force = units::Force::new(10.0);
let mass = units::Mass::new(2.0);
let acceleration = force.acceleration_mass(mass);
assert_eq!(acceleration.eval(), 5.0);
}