Improved unit test so they run correctly in debug

This commit is contained in:
Magne Sjaastad 2017-03-06 15:40:51 +01:00
parent 0428dbffa3
commit a5ed533c00
3 changed files with 46 additions and 18 deletions

View File

@ -58,7 +58,8 @@ class ContainerObj : public caf::PdmObjectHandle
public:
ContainerObj() : PdmObjectHandle()
{
this->addField(&derivedObjs, "derivedObjs");
this->addField(&derivedObjs, "derivedObjs");
this->addField(&derivedOtherObjs, "derivedOtherObjs");
}
~ContainerObj()

View File

@ -209,10 +209,15 @@ TEST(BaseTest, TestPdmValueFieldInterface)
//--------------------------------------------------------------------------------------------------
TEST(BaseTest, NormalPdmField)
{
class A
class A : public caf::PdmObjectHandle
{
public:
A(const std::vector<double>& testValue) : field2(testValue), field3(field2) {}
A(const std::vector<double>& testValue) : field2(testValue), field3(field2)
{
this->addField(&field1, "field1");
this->addField(&field2, "field2");
this->addField(&field3, "field3");
}
caf::PdmDataValueField<std::vector<double> > field1;
caf::PdmDataValueField<std::vector<double> > field2;
@ -432,9 +437,13 @@ TEST(BaseTest, PdmChildArrayFieldHandle)
TEST(BaseTest, PdmChildField)
{
class A {
class A : public caf::PdmObjectHandle
{
public:
A(Child* a) :field2(a) {}
A(Child* a) :field2(a)
{
this->addField(&field2, "field2");
}
~A()
{

View File

@ -279,6 +279,22 @@ TEST(BaseTest, Start)
//--------------------------------------------------------------------------------------------------
TEST(BaseTest, NormalPdmField)
{
class ObjectWithVectors : public caf::PdmObjectHandle
{
public:
ObjectWithVectors()
{
this->addField(&field1, "field1");
this->addField(&field2, "field2");
this->addField(&field3, "field3");
}
caf::PdmField<std::vector<double> > field1;
caf::PdmField<std::vector<double> > field2;
caf::PdmField<std::vector<double> > field3;
};
std::vector<double> testValue;
testValue.push_back(1.1);
testValue.push_back(1.2);
@ -289,22 +305,24 @@ TEST(BaseTest, NormalPdmField)
testValue2.push_back(2.2);
testValue2.push_back(2.3);
ObjectWithVectors myObj;
// Constructors
caf::PdmField<std::vector<double> > field2(testValue);
EXPECT_EQ(1.3, field2.v()[2]);
caf::PdmField<std::vector<double> > field3(field2);
EXPECT_EQ(1.3, field3.v()[2]);
caf::PdmField<std::vector<double> > field1;
EXPECT_EQ(size_t(0), field1().size());
myObj.field2 = testValue;
EXPECT_EQ(1.3, myObj.field2.v()[2]);
myObj.field3 = myObj.field2;
EXPECT_EQ(1.3, myObj.field3.v()[2]);
EXPECT_EQ(size_t(0), myObj.field1().size());
// Operators
EXPECT_FALSE(field1 == field3);
field1 = field2;
EXPECT_EQ(1.3, field1()[2]);
field1 = testValue2;
EXPECT_EQ(2.3, field1()[2]);
field3 = field1;
EXPECT_TRUE(field1 == field3);
EXPECT_FALSE(myObj.field1 == myObj.field3);
myObj.field1 = myObj.field2;
EXPECT_EQ(1.3, myObj.field1()[2]);
myObj.field1 = testValue2;
EXPECT_EQ(2.3, myObj.field1()[2]);
myObj.field3 = myObj.field1;
EXPECT_TRUE(myObj.field1 == myObj.field3);
}
#if 0