1
#include "com/ubuntu/location/velocity.h"
3
#include <gtest/gtest.h>
5
TEST(Velocity, constructing_a_velocity_with_invalid_value_throws)
7
std::default_random_engine rng;
8
std::uniform_real_distribution<double> dist(
9
-std::numeric_limits<double>::max(),
10
com::ubuntu::location::Velocity::min().value() - std::numeric_limits<double>::min());
12
EXPECT_ANY_THROW(com::ubuntu::location::Velocity v {d*com::ubuntu::location::units::MetersPerSecond};);
15
TEST(Velocity, constructing_a_velocity_with_a_valid_value_does_not_throw)
17
std::default_random_engine rng;
18
std::uniform_real_distribution<double> dist(com::ubuntu::location::Velocity::min().value(),
19
com::ubuntu::location::Velocity::max().value());
21
EXPECT_NO_THROW(com::ubuntu::location::Velocity v {dist(rng)*com::ubuntu::location::units::MetersPerSecond};);
24
TEST(Velocity, a_velocity_contains_value_passed_at_construction)
26
std::default_random_engine rng;
27
std::uniform_real_distribution<double> dist(com::ubuntu::location::Velocity::min().value(),
28
com::ubuntu::location::Velocity::max().value());
30
com::ubuntu::location::Velocity v {d* com::ubuntu::location::units::MetersPerSecond};
31
EXPECT_EQ(d * com::ubuntu::location::units::MetersPerSecond, v.value);