HashMapTest.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #include <boost/test/auto_unit_test.hpp>
00007
00008 #include "HashMap.hpp"
00009
00010 using namespace benzene;
00011
00012
00013
00014 namespace {
00015
00016 BOOST_AUTO_TEST_CASE(HashMap_AllTests)
00017 {
00018 int data = 0;
00019 HashMap<int> hm(5);
00020
00021
00022 BOOST_CHECK_EQUAL(hm.size(), 32u);
00023 BOOST_CHECK_EQUAL(hm.count(), 0u);
00024
00025
00026 BOOST_CHECK(!hm.get(1, data));
00027
00028
00029 hm.put(1, 5);
00030 BOOST_CHECK(hm.get(1, data));
00031 BOOST_CHECK_EQUAL(data, 5);
00032 BOOST_CHECK(!hm.get(2, data));
00033 BOOST_CHECK_EQUAL(hm.count(), 1u);
00034
00035
00036 hm.put(33, 11);
00037 BOOST_CHECK(hm.get(1, data));
00038 BOOST_CHECK_EQUAL(data, 5);
00039 BOOST_CHECK(hm.get(33, data));
00040 BOOST_CHECK_EQUAL(data, 11);
00041 BOOST_CHECK_EQUAL(hm.count(), 2u);
00042
00043 HashMap<int> mm(5);
00044 mm = hm;
00045 BOOST_CHECK(mm.get(1, data));
00046 BOOST_CHECK_EQUAL(data, 5);
00047 BOOST_CHECK(mm.get(33, data));
00048 BOOST_CHECK_EQUAL(data, 11);
00049 BOOST_CHECK_EQUAL(mm.count(), 2u);
00050
00051 HashMap<int> blah(mm);
00052 BOOST_CHECK(blah.get(1, data));
00053 BOOST_CHECK_EQUAL(data, 5);
00054 BOOST_CHECK(blah.get(33, data));
00055 BOOST_CHECK_EQUAL(data, 11);
00056 BOOST_CHECK_EQUAL(blah.count(), 2u);
00057
00058 }
00059
00060 }
00061
00062