ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.0/test/utils/PropertyMapTestCase.cpp
Revision: 1622
Committed: Wed Oct 20 22:54:30 2004 UTC (19 years, 8 months ago) by tim
File size: 4948 byte(s)
Log Message:
GenericData and PropertyMap  pass unit test.

File Contents

# User Rev Content
1 tim 1622 #include "utils/PropertyMapTestCase.hpp"
2     #include <iostream>
3     #include <algorithm>
4     // Registers the fixture into the 'registry'
5     CPPUNIT_TEST_SUITE_REGISTRATION( PropertyMapTestCase );
6    
7    
8     void PropertyMapTestCase::testPropertyMap(){
9     PropertyMap props;
10    
11     //test addProperty
12     BoolGenericData* b0 = new BoolGenericData("BoolData");
13     b0->setData(false);
14     props.addProperty(b0);
15     CPPUNIT_ASSERT(props.getPropertyByName("BoolData") == b0);
16    
17     BoolGenericData* b1 = new BoolGenericData("BoolData");
18     b1->setData(true);
19     props.addProperty(b1);
20     CPPUNIT_ASSERT(props.getPropertyByName("BoolData") == b1);
21    
22    
23     IntGenericData* i1 = new IntGenericData("IntData");
24     i1->setData(89);
25     props.addProperty(i1);
26    
27     FloatGenericData* f1 = new FloatGenericData("FloatData");
28     f1->setData(49.328);
29     props.addProperty(f1);
30    
31     DoubleGenericData* d1 = new DoubleGenericData("DoubleData");
32     d1->setData(95.1933432);
33     props.addProperty(d1);
34    
35     StringGenericData* s1 = new StringGenericData("StringData");
36     s1->setData("Hello");
37     props.addProperty(s1);
38    
39    
40     IntVectorGenericData* iv1 = new IntVectorGenericData("IntVector");
41     iv1->push_back(2);
42     iv1->push_back(1);
43     iv1->push_back(324);
44     props.addProperty(iv1);
45    
46     //test getPropertyNames
47     std::vector<std::string> propNames = props.getPropertyNames();
48    
49    
50     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "BoolData") != propNames.end());
51     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "IntData") != propNames.end());
52     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "FloatData") != propNames.end());
53     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "DoubleData") != propNames.end());
54     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "StringData") != propNames.end());
55     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "IntVector") != propNames.end());
56    
57     //test getProperties
58     std::vector<GenericData*> propPointers = props.getProperties();
59     CPPUNIT_ASSERT(std::find(propPointers.begin(), propPointers.end(), b1) != propPointers.end());
60     CPPUNIT_ASSERT(std::find(propPointers.begin(), propPointers.end(), i1) != propPointers.end());
61     CPPUNIT_ASSERT(std::find(propPointers.begin(), propPointers.end(), f1) != propPointers.end());
62     CPPUNIT_ASSERT(std::find(propPointers.begin(), propPointers.end(), d1) != propPointers.end());
63     CPPUNIT_ASSERT(std::find(propPointers.begin(), propPointers.end(), s1) != propPointers.end());
64     CPPUNIT_ASSERT(std::find(propPointers.begin(), propPointers.end(), iv1) != propPointers.end());
65    
66     //test getPropertyByName
67     CPPUNIT_ASSERT(props.getPropertyByName("BoolData") == b1);
68     CPPUNIT_ASSERT(props.getPropertyByName("IntData") == i1);
69     CPPUNIT_ASSERT(props.getPropertyByName("FloatData") == f1);
70     CPPUNIT_ASSERT(props.getPropertyByName("DoubleData") == d1);
71     CPPUNIT_ASSERT(props.getPropertyByName("StringData") == s1);
72     CPPUNIT_ASSERT(props.getPropertyByName("IntVector") == iv1);
73    
74     CPPUNIT_ASSERT(b1->getData() == true);
75     CPPUNIT_ASSERT(i1->getData() == 89);
76     CPPUNIT_ASSERT_DOUBLES_EQUAL(f1->getData(), 49.328, 0.000001);
77     CPPUNIT_ASSERT_DOUBLES_EQUAL(d1->getData(), 95.1933432, 0.000001);
78     CPPUNIT_ASSERT(s1->getData() == "Hello");
79     CPPUNIT_ASSERT_EQUAL((*iv1)[0], 2);
80     CPPUNIT_ASSERT_EQUAL((*iv1)[1], 1);
81     CPPUNIT_ASSERT_EQUAL((*iv1)[2], 324);
82    
83     //test removeProperty
84     props.removeProperty("DoubleData");
85     props.removeProperty("FloatData");
86     props.removeProperty("IntVector");
87     propNames = props.getPropertyNames();
88     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "BoolData") != propNames.end());
89     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "IntData") != propNames.end());
90     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "FloatData") == propNames.end());
91     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "DoubleData") == propNames.end());
92     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "StringData") != propNames.end());
93     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "IntVector") == propNames.end());
94    
95     //test clearProperties
96     props.clearProperties();
97     propNames = props.getPropertyNames();
98     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "BoolData") == propNames.end());
99     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "IntData") == propNames.end());
100     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "FloatData") == propNames.end());
101     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "DoubleData") == propNames.end());
102     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "StringData") == propNames.end());
103     CPPUNIT_ASSERT(std::find(propNames.begin(), propNames.end(), "IntVector") == propNames.end());
104    
105     }

Properties

Name Value
svn:executable *