- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/unittests/manipulateAtomsTest.cpp
r975a11 r57adc7 18 18 #include "Actions/ManipulateAtomsProcess.hpp" 19 19 #include "Actions/ActionRegistry.hpp" 20 #include "Actions/ActionHistory.hpp"21 20 22 21 #include "World.hpp" 23 22 #include "atom.hpp" 24 25 #ifdef HAVE_TESTRUNNER26 #include "UnitTestMain.hpp"27 #endif /*HAVE_TESTRUNNER*/28 23 29 24 // Registers the fixture into the 'registry' … … 35 30 AtomStub(int _id) : 36 31 atom(), 37 manipulated(false),38 id(_id)32 id(_id), 33 manipulated(false) 39 34 {} 40 35 … … 71 66 // set up and tear down 72 67 void manipulateAtomsTest::setUp(){ 73 ActionHistory::init(); 74 World::getInstance(); 68 World::get(); 75 69 for(int i=0;i<ATOM_COUNT;++i){ 76 70 atoms[i]= new AtomStub(i); 77 World::get Instance().registerAtom(atoms[i]);71 World::get()->registerAtom(atoms[i]); 78 72 } 79 73 } 80 74 void manipulateAtomsTest::tearDown(){ 81 World::purgeInstance(); 82 ActionRegistry::purgeInstance(); 83 ActionHistory::purgeInstance(); 75 World::destroy(); 76 ActionRegistry::purgeRegistry(); 77 } 78 79 // some helper functions 80 static bool hasAll(std::vector<atom*> atoms,int min, int max, std::set<int> excluded = std::set<int>()){ 81 for(int i=min;i<max;++i){ 82 if(!excluded.count(i)){ 83 std::vector<atom*>::iterator iter; 84 bool res=false; 85 for(iter=atoms.begin();iter!=atoms.end();++iter){ 86 res |= (*iter)->getId() == i; 87 } 88 if(!res) { 89 cout << "Atom " << i << " missing in returned list" << endl; 90 return false; 91 } 92 } 93 } 94 return true; 95 } 96 97 static bool hasNoDuplicates(std::vector<atom*> atoms){ 98 std::set<int> found; 99 std::vector<atom*>::iterator iter; 100 for(iter=atoms.begin();iter!=atoms.end();++iter){ 101 int id = (*iter)->getId(); 102 if(found.count(id)) 103 return false; 104 found.insert(id); 105 } 106 return true; 84 107 } 85 108 … … 92 115 93 116 void manipulateAtomsTest::testManipulateSimple(){ 94 ManipulateAtomsProcess *proc = World::get Instance().manipulateAtoms(boost::bind(operation,_1),"FOO",AllAtoms());117 ManipulateAtomsProcess *proc = World::get()->manipulateAtoms(boost::bind(operation,_1),"FOO",AllAtoms()); 95 118 proc->call(); 96 std::vector<atom*> allAtoms = World::get Instance().getAllAtoms(AllAtoms());119 std::vector<atom*> allAtoms = World::get()->getAllAtoms(AllAtoms()); 97 120 std::vector<atom*>::iterator iter; 98 121 for(iter=allAtoms.begin();iter!=allAtoms.end();++iter){ … … 105 128 106 129 void manipulateAtomsTest::testManipulateExcluded(){ 107 108 ManipulateAtomsProcess *proc = World::getInstance().manipulateAtoms(boost::bind(operation,_1),"FOO",AllAtoms() && !AtomById(ATOM_COUNT/2)); 130 ManipulateAtomsProcess *proc = World::get()->manipulateAtoms(boost::bind(operation,_1),"FOO",AllAtoms() && !AtomById(ATOM_COUNT/2)); 109 131 proc->call(); 110 std::vector<atom*> allAtoms = World::get Instance().getAllAtoms(AllAtoms());132 std::vector<atom*> allAtoms = World::get()->getAllAtoms(AllAtoms()); 111 133 std::vector<atom*>::iterator iter; 112 134 for(iter=allAtoms.begin();iter!=allAtoms.end();++iter){ … … 123 145 void manipulateAtomsTest::testObserver(){ 124 146 countObserver *obs = new countObserver(); 125 World::get Instance().signOn(obs);126 ManipulateAtomsProcess *proc = World::get Instance().manipulateAtoms(boost::bind(operation,_1),"FOO",AllAtoms());147 World::get()->signOn(obs); 148 ManipulateAtomsProcess *proc = World::get()->manipulateAtoms(boost::bind(operation,_1),"FOO",AllAtoms() && !AtomById(ATOM_COUNT/2)); 127 149 proc->call(); 128 150 129 151 CPPUNIT_ASSERT_EQUAL(1,obs->count); 130 World::get Instance().signOff(obs);152 World::get()->signOff(obs); 131 153 delete obs; 132 154 }
Note:
See TracChangeset
for help on using the changeset viewer.