diff options
Diffstat (limited to 'test/common/hashmap.h')
| -rw-r--r-- | test/common/hashmap.h | 51 | 
1 files changed, 36 insertions, 15 deletions
diff --git a/test/common/hashmap.h b/test/common/hashmap.h index 5aa609bc00..acde1da028 100644 --- a/test/common/hashmap.h +++ b/test/common/hashmap.h @@ -1,12 +1,12 @@  #include <cxxtest/TestSuite.h>  #include "common/hashmap.h" +#include "common/hash-str.h"  class HashMapTestSuite : public CxxTest::TestSuite  {  	public: -	void test_empty_clear( void ) -	{ +	void test_empty_clear(void) {  		Common::HashMap<int, int> container;  		TS_ASSERT( container.empty() );  		container[0] = 17; @@ -14,10 +14,17 @@ class HashMapTestSuite : public CxxTest::TestSuite  		TS_ASSERT( !container.empty() );  		container.clear();  		TS_ASSERT( container.empty() ); + +		Common::StringMap container2; +		TS_ASSERT( container2.empty() ); +		container2["foo"] = "bar"; +		container2["quux"] = "blub"; +		TS_ASSERT( !container2.empty() ); +		container2.clear(); +		TS_ASSERT( container2.empty() );  	} -	void test_contains( void ) -	{ +	void test_contains(void) {  		Common::HashMap<int, int> container;  		container[0] = 17;  		container[1] = 33; @@ -25,25 +32,41 @@ class HashMapTestSuite : public CxxTest::TestSuite  		TS_ASSERT( container.contains(1) );  		TS_ASSERT( !container.contains(17) );  		TS_ASSERT( !container.contains(-1) ); + +		Common::StringMap container2; +		container2["foo"] = "bar"; +		container2["quux"] = "blub"; +		TS_ASSERT( container2.contains("foo") ); +		TS_ASSERT( container2.contains("quux") ); +		TS_ASSERT( !container2.contains("bar") ); +		TS_ASSERT( !container2.contains("asdf") );  	} -	void test_add_remove( void ) -	{ +	void test_add_remove(void) {  		Common::HashMap<int, int> container;  		container[0] = 17;  		container[1] = 33; +		container[2] = 45; +		container[3] = 12; +		container[4] = 96;  		TS_ASSERT( container.contains(1) );  		container.erase(1);  		TS_ASSERT( !container.contains(1) );  		container[1] = 42;  		TS_ASSERT( container.contains(1) );  		container.erase(0); +		TS_ASSERT( !container.empty() );  		container.erase(1); +		TS_ASSERT( !container.empty() ); +		container.erase(2); +		TS_ASSERT( !container.empty() ); +		container.erase(3); +		TS_ASSERT( !container.empty() ); +		container.erase(4);  		TS_ASSERT( container.empty() );  	} -	void test_lookup( void ) -	{ +	void test_lookup(void) {  		Common::HashMap<int, int> container;  		container[0] = 17;  		container[1] = -1; @@ -58,8 +81,7 @@ class HashMapTestSuite : public CxxTest::TestSuite  		TS_ASSERT_EQUALS( container[4], 96 );  	} -	void test_iterator_begin_end( void ) -	{ +	void test_iterator_begin_end(void) {  		Common::HashMap<int, int> container;  		// The container is initially empty ... @@ -74,12 +96,11 @@ class HashMapTestSuite : public CxxTest::TestSuite  		TS_ASSERT( container.begin() == container.end() );  	} -	void test_hash_map_copy( void ) -	{ -		Common::HashMap<int, int> map1, map2; +	void test_hash_map_copy(void) { +		Common::HashMap<int, int> map1, container2;  		map1[323] = 32; -		map2 = map1; -		TS_ASSERT_EQUALS(map2[323], 32); +		container2 = map1; +		TS_ASSERT_EQUALS(container2[323], 32);  	}  	// TODO: Add test cases for iterators, find, ...  | 
