Final applyUnits commit ...
This commit is contained in:
@@ -104,7 +104,13 @@ BOOST_AUTO_TEST_CASE(PushBackDimension) {
|
||||
std::shared_ptr<Dimension> activeDimension(new Dimension("L" , 100));
|
||||
std::shared_ptr<Dimension> defaultDimension(new Dimension("L" , 10));
|
||||
|
||||
item.push_backDimensions( activeDimension , defaultDimension);
|
||||
item.push_backDimension( activeDimension , defaultDimension);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(PushBackDimensionInvalidType) {
|
||||
DeckIntItem item("HEI");
|
||||
std::shared_ptr<Dimension> dim(new Dimension("L" , 100));
|
||||
BOOST_CHECK_THROW( item.push_backDimension( dim , dim ) , std::invalid_argument );
|
||||
}
|
||||
|
||||
|
||||
@@ -124,7 +130,7 @@ BOOST_AUTO_TEST_CASE(GetSISingleDimensionCorrect) {
|
||||
std::shared_ptr<Dimension> dim(new Dimension("L" , 100));
|
||||
|
||||
item.push_backMultiple(1 , 100 );
|
||||
item.push_backDimensions( dim , dim );
|
||||
item.push_backDimension( dim , dim );
|
||||
|
||||
BOOST_CHECK_EQUAL( 1 , item.getRawDouble(0) );
|
||||
BOOST_CHECK_EQUAL( 100 , item.getSIDouble(0) );
|
||||
@@ -137,7 +143,7 @@ BOOST_AUTO_TEST_CASE(GetSISingleDefault) {
|
||||
std::shared_ptr<Dimension> defaultDim(new Dimension("L" , 100));
|
||||
|
||||
item.push_backDefault(1 );
|
||||
item.push_backDimensions( dim , defaultDim );
|
||||
item.push_backDimension( dim , defaultDim );
|
||||
|
||||
BOOST_CHECK_EQUAL( 1 , item.getRawDouble(0) );
|
||||
BOOST_CHECK_EQUAL( 100 , item.getSIDouble(0) );
|
||||
@@ -153,10 +159,10 @@ BOOST_AUTO_TEST_CASE(GetSIMultipleDim) {
|
||||
std::shared_ptr<Dimension> defaultDim(new Dimension("L" , 100));
|
||||
|
||||
item.push_backMultiple( 1 , 16 );
|
||||
item.push_backDimensions( dim1 , defaultDim );
|
||||
item.push_backDimensions( dim2 , defaultDim );
|
||||
item.push_backDimensions( dim3 , defaultDim );
|
||||
item.push_backDimensions( dim4 , defaultDim );
|
||||
item.push_backDimension( dim1 , defaultDim );
|
||||
item.push_backDimension( dim2 , defaultDim );
|
||||
item.push_backDimension( dim3 , defaultDim );
|
||||
item.push_backDimension( dim4 , defaultDim );
|
||||
|
||||
for (size_t i=0; i < 16; i+= 4) {
|
||||
BOOST_CHECK_EQUAL( 2 , item.getSIDouble(i) );
|
||||
|
||||
@@ -103,7 +103,7 @@ BOOST_AUTO_TEST_CASE(getKeywordList_OK) {
|
||||
container->addKeyword(keyword2);
|
||||
container->addKeyword(keyword3);
|
||||
|
||||
const std::vector<DeckKeywordConstPtr>& keywordList = container->getKeywordList("TRULS");
|
||||
const std::vector<DeckKeywordPtr>& keywordList = container->getKeywordList("TRULS");
|
||||
BOOST_CHECK_EQUAL( 3U , keywordList.size() );
|
||||
}
|
||||
|
||||
|
||||
@@ -71,20 +71,33 @@ BOOST_AUTO_TEST_CASE(UnitSystemGetMissingDimensionThrows) {
|
||||
BOOST_CHECK_THROW( system.getDimension("L") , std::invalid_argument );
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(UnitSystemGetNewOK) {
|
||||
UnitSystem system("Metric");
|
||||
system.addDimension("L" , 10 );
|
||||
system.addDimension("t" , 100);
|
||||
|
||||
BOOST_CHECK_EQUAL( false , system.hasDimension("L*L/t"));
|
||||
std::shared_ptr<const Dimension> comp = system.getNewDimension("L*L/t");
|
||||
BOOST_CHECK_EQUAL( true , system.hasDimension("L*L/t"));
|
||||
BOOST_CHECK_EQUAL(1 , comp->getSIScaling());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(UnitSystemAddDimensions) {
|
||||
UnitSystem system("Metric");
|
||||
system.addDimension("L" , 1 );
|
||||
system.addDimension("t" , 86400 );
|
||||
|
||||
Dimension length = system.getDimension("L");
|
||||
Dimension time = system.getDimension("t");
|
||||
BOOST_CHECK_EQUAL(1 , length.getSIScaling());
|
||||
BOOST_CHECK_EQUAL(86400 , time.getSIScaling());
|
||||
std::shared_ptr<const Dimension> length = system.getDimension("L");
|
||||
std::shared_ptr<const Dimension> time = system.getDimension("t");
|
||||
BOOST_CHECK_EQUAL(1 , length->getSIScaling());
|
||||
BOOST_CHECK_EQUAL(86400 , time->getSIScaling());
|
||||
|
||||
system.addDimension("L" , 0.3048);
|
||||
length = system.getDimension("L");
|
||||
BOOST_CHECK_EQUAL(0.3048 , length.getSIScaling());
|
||||
BOOST_CHECK_EQUAL(0.3048 , length->getSIScaling());
|
||||
}
|
||||
|
||||
|
||||
@@ -96,7 +109,7 @@ BOOST_AUTO_TEST_CASE(UnitSystemParseInvalidThrows) {
|
||||
system.addDimension("L" , 3.00 );
|
||||
system.addDimension("t" , 9.0 );
|
||||
|
||||
std::shared_ptr<Dimension> volumePerTime = system.parse("L*L*L/t");
|
||||
std::shared_ptr<const Dimension> volumePerTime = system.parse("L*L*L/t");
|
||||
BOOST_CHECK_EQUAL("L*L*L/t" , volumePerTime->getName() );
|
||||
BOOST_CHECK_EQUAL(3.0 , volumePerTime->getSIScaling());
|
||||
}
|
||||
@@ -118,11 +131,11 @@ BOOST_AUTO_TEST_CASE(CreateMetricSystem) {
|
||||
std::shared_ptr<UnitSystem> system = std::shared_ptr<UnitSystem>( UnitSystem::newMETRIC() );
|
||||
checkSystemHasRequiredDimensions( system );
|
||||
|
||||
BOOST_CHECK_EQUAL( Metric::Length , system->getDimension("L").getSIScaling() );
|
||||
BOOST_CHECK_EQUAL( Metric::Mass , system->getDimension("m").getSIScaling() );
|
||||
BOOST_CHECK_EQUAL( Metric::Time , system->getDimension("t").getSIScaling() );
|
||||
BOOST_CHECK_EQUAL( Metric::Permeability , system->getDimension("K").getSIScaling() );
|
||||
BOOST_CHECK_EQUAL( Metric::Pressure , system->getDimension("P").getSIScaling() );
|
||||
BOOST_CHECK_EQUAL( Metric::Length , system->getDimension("L")->getSIScaling() );
|
||||
BOOST_CHECK_EQUAL( Metric::Mass , system->getDimension("m")->getSIScaling() );
|
||||
BOOST_CHECK_EQUAL( Metric::Time , system->getDimension("t")->getSIScaling() );
|
||||
BOOST_CHECK_EQUAL( Metric::Permeability , system->getDimension("K")->getSIScaling() );
|
||||
BOOST_CHECK_EQUAL( Metric::Pressure , system->getDimension("P")->getSIScaling() );
|
||||
}
|
||||
|
||||
|
||||
@@ -154,3 +167,19 @@ BOOST_AUTO_TEST_CASE(DimensionEqual) {
|
||||
}
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(UnitSystemEqual) {
|
||||
std::shared_ptr<UnitSystem> metric1 = std::shared_ptr<UnitSystem>( UnitSystem::newMETRIC() );
|
||||
std::shared_ptr<UnitSystem> metric2 = std::shared_ptr<UnitSystem>( UnitSystem::newMETRIC() );
|
||||
std::shared_ptr<UnitSystem> field = std::shared_ptr<UnitSystem>( UnitSystem::newFIELD() );
|
||||
|
||||
BOOST_CHECK_EQUAL( true , metric1->equal( *metric1 ));
|
||||
BOOST_CHECK_EQUAL( true , metric1->equal( *metric2 ));
|
||||
BOOST_CHECK_EQUAL( false , metric1->equal( *field ));
|
||||
metric1->addDimension("g" , 3.00 );
|
||||
BOOST_CHECK_EQUAL( false , metric1->equal( *metric2 ));
|
||||
BOOST_CHECK_EQUAL( false , metric2->equal( *metric1 ));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user