Changeset 454bc54 for src/Patterns/unittests/CacheableUnitTest.cpp
- Timestamp:
- Oct 30, 2015, 11:43:01 AM (10 years ago)
- Children:
- e24dde
- Parents:
- 1b5188
- git-author:
- Frederik Heber <heber@…> (06/19/15 22:28:24)
- git-committer:
- Frederik Heber <heber@…> (10/30/15 11:43:01)
- File:
-
- 1 edited
-
src/Patterns/unittests/CacheableUnitTest.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Patterns/unittests/CacheableUnitTest.cpp
r1b5188 r454bc54 28 28 #include "CodePatterns/Cacheable.hpp" 29 29 30 #include "stubs/Cacheable_threeNumbers.hpp" 31 30 32 #ifdef HAVE_TESTRUNNER 31 33 #include "UnitTestMain.hpp" … … 37 39 CPPUNIT_TEST_SUITE_REGISTRATION( CacheableTest ); 38 40 39 class threeNumbers : public Observable {40 public:41 int x;42 int y;43 int z;44 Cacheable<int> sum;45 bool hasRecalced;46 47 void setX(int _x){48 OBSERVE;49 x = _x;50 }51 52 void setY53 (int _y){54 OBSERVE;55 y = _y;56 }57 58 void setZ(int _z){59 OBSERVE;60 z = _z;61 }62 63 int calcSum(){64 hasRecalced = true;65 return x+y+z;66 }67 68 threeNumbers(int _x,int _y, int _z) :69 Observable("threeNumbers"),70 x(_x),y(_y),z(_z),71 sum(this,boost::bind(&threeNumbers::calcSum,this),"sum"),72 hasRecalced(false)73 {}74 };75 76 77 78 79 41 void CacheableTest::setUp(){ 80 numbers = new threeNumbers(1,2,3); 42 numbers = new Cacheable_threeNumbers(1,2,3); 43 Observable::channels_t ychannel(1, Cacheable_threeNumbers::YChanged); 44 YChange_numbers = new Cacheable_threeNumbers(1,2,3, ychannel); 81 45 } 82 46 … … 101 65 CPPUNIT_ASSERT_EQUAL( true, numbers->hasRecalced); 102 66 #endif 67 68 CPPUNIT_ASSERT_EQUAL( 6, *(YChange_numbers->sum)); 69 CPPUNIT_ASSERT_EQUAL( true, YChange_numbers->hasRecalced); 70 YChange_numbers->hasRecalced=false; 71 YChange_numbers->setX(4); 72 CPPUNIT_ASSERT_EQUAL( false, YChange_numbers->hasRecalced); 73 CPPUNIT_ASSERT_EQUAL( 6, *(YChange_numbers->sum)); 74 CPPUNIT_ASSERT_EQUAL( false, YChange_numbers->hasRecalced); 75 YChange_numbers->hasRecalced=false; 76 YChange_numbers->setY(4); 77 CPPUNIT_ASSERT_EQUAL( false, YChange_numbers->hasRecalced); 78 CPPUNIT_ASSERT_EQUAL( 11, *(YChange_numbers->sum)); 79 CPPUNIT_ASSERT_EQUAL( true, YChange_numbers->hasRecalced); 80 YChange_numbers->hasRecalced=false; 81 CPPUNIT_ASSERT_EQUAL( 11, *(YChange_numbers->sum)); 82 #ifndef NO_CACHING 83 CPPUNIT_ASSERT_EQUAL( false, YChange_numbers->hasRecalced); 84 #else 85 CPPUNIT_ASSERT_EQUAL( true, YChange_numbers->hasRecalced); 86 #endif 103 87 }
Note:
See TracChangeset
for help on using the changeset viewer.
