Grafalgo
Library of useful data structures and algorithms
|
00001 00009 #include "IdMap.h" 00010 #include "Utest.h" 00011 00012 using namespace grafalgo; 00013 00014 void basicTests() { 00015 int n1 = 10; IdMap map1(n1); string s; 00016 00017 Utest::assertEqual(map1.firstId(), 0, "initial map not empty"); 00018 cout << "writing empty idMap: " << map1 << endl; 00019 00020 map1.addPair(1234); 00021 Utest::assertEqual(map1.getId(1234),1,"wrong id for first item"); 00022 cout << "writing singleton idMap: " << map1 << endl; 00023 00024 Utest::assertEqual(map1.toString(s), "{1234:1}", 00025 "mismatch on adding first item"); 00026 00027 map1.addPair(2345); map1.addPair(3456); 00028 Utest::assertEqual(map1.getId(2345),2,"wrong id for second item"); 00029 Utest::assertEqual(map1.getId(3456),3,"wrong id for third item"); 00030 Utest::assertEqual(map1.toString(s), "{1234:1 2345:2 3456:3}", 00031 "mismatch after adding third item"); 00032 cout << "writing 3 idMap: " << map1 << endl; 00033 00034 map1.dropPair(2345); 00035 Utest::assertEqual(map1.toString(s), "{1234:1 3456:3}", 00036 "mismatch after releasing second id"); 00037 00038 map1.addPair(4567); 00039 Utest::assertEqual(map1.toString(s), "{1234:1 3456:3 4567:4}", 00040 "mismatch on adding after releasing id"); 00041 00042 map1.clear(); 00043 Utest::assertEqual(map1.toString(s), "{}", 00044 "mismatch after clearing map"); 00045 } 00046 00050 int main() { 00051 cout << "running basic tests\n"; 00052 basicTests(); 00053 cout << "basic tests passed\n"; 00054 00055 // add more systematic tests for each individual method 00056 }