tstTime.cpp
./Core/dc/tests/tstTime.cpp
#include "Nemesis/gtest/nemesis_gtest.hh"
#include "Nemesis/harness/DBC.hh"
#include "Standard/Interface/jdebug.h"
#include "Origen/Core/dc/Quantity.h"
#include "Origen/Core/dc/Time.h"
using namespace Origen;
{
EXPECT_EQ( 3600., Time::base<Time::HOURS>() );
{
std::string y( "y" );
Time::UNITS u = Time::units( y.c_str() );
EXPECT_EQ( 60 * 60 * 24 * 365.25, Time::base( u ) );
}
}
{
{
EXPECT_EQ( 60., f );
}
{
EXPECT_EQ( 60., f );
}
{
EXPECT_EQ( 60., f );
}
}
TEST( Quantity_Time, Basic )
{
// check default value of zero is set
EXPECT_EQ( 0.0, q.value() );
// start with 34 minutes
EXPECT_EQ( 34., q.value() );
// check in seconds
// check relative
// now change to relative
q.setValue( 0.333333 );
// value is now
EXPECT_FLOAT_EQ( 0.333333, q.value() );
// but valueAs() is in minutes
EXPECT_FLOAT_EQ( 0.333333 * 33.0 / 60., q.valueAs() );
// now get in seconds
EXPECT_FLOAT_EQ( 0.333333 * 33.0, q.valueAs( Time::SECONDS ) );
// now change forever to seconds
q.setUnits( Time::SECONDS );
EXPECT_FLOAT_EQ( 0.333333 * 33.0, q.valueAs() );
// std::cout << q.toString() << std::endl;
}