1 /*++ 2 Copyright (c) 2006 Microsoft Corporation 3 4 Module Name: 5 6 tst_map.cpp 7 8 Abstract: 9 10 Test simple mapping. 11 12 Author: 13 14 Leonardo de Moura (leonardo) 2006-10-14. 15 16 Revision History: 17 18 --*/ 19 #include "util/map.h" 20 #include "util/str_hashtable.h" 21 tst1()22static void tst1() { 23 map<char const *, int, str_hash_proc, str_eq_proc> str2int; 24 str2int.insert("foo", 35); 25 ENSURE(str2int.contains("foo")); 26 ENSURE(str2int.find_iterator("foo") != str2int.end()); 27 ENSURE((*(str2int.find_iterator("foo"))).m_value == 35); 28 ENSURE(str2int.size() == 1); 29 str2int.insert("boo", 32); 30 ENSURE(str2int.contains("foo")); 31 ENSURE(str2int.find_iterator("foo") != str2int.end()); 32 ENSURE((*(str2int.find_iterator("foo"))).m_value == 35); 33 ENSURE(str2int.contains("boo")); 34 ENSURE(str2int.find_iterator("boo") != str2int.end()); 35 ENSURE((*(str2int.find_iterator("boo"))).m_value == 32); 36 ENSURE(str2int.size() == 2); 37 str2int.remove("boo"); 38 ENSURE(str2int.size() == 1); 39 ENSURE(!str2int.contains("boo")); 40 ENSURE(str2int.contains("foo")); 41 } 42 tst_map()43void tst_map() { 44 tst1(); 45 } 46