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()22 static 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()43 void tst_map() {
44   tst1();
45 }
46