00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <boost/test/unit_test.hpp>
00020 #include "torc/physical/ConfigMap.hpp"
00021 #include "torc/physical/OutputStreamHelpers.hpp"
00022
00023 namespace torc {
00024 namespace physical {
00025
00026 BOOST_AUTO_TEST_SUITE(physical)
00027
00028
00029 BOOST_AUTO_TEST_CASE(ConfigMapUnitTest) {
00030
00031 Config config1("name1", "value1");
00032 Config config2("name2", "value2");
00033 Config config3("name3", "value3");
00034 Config config4("name4", "value4");
00035
00036
00037
00038
00039
00040
00041 ConfigMap configMap1;
00042 configMap1.setConfig("config", config1);
00043 configMap1.setConfig("config", config2);
00044 configMap1.setConfig("_config", config3);
00045 configMap1.setConfig("_config", config4);
00046 ConfigMap configMap2;
00047
00048
00049
00050
00051 std::string name;
00052 std::string value;
00053 configMap1.getConfig("config", name, value);
00054 configMap2.setConfig("ending", name, value);
00055
00056
00057
00058
00059
00060
00061
00062
00063 BOOST_CHECK(configMap1.hasConfig("config"));
00064 BOOST_CHECK(configMap1.hasConfig("_config"));
00065 BOOST_CHECK_EQUAL((size_t) 1, configMap1.getMultiConfigCount("config"));
00066 BOOST_CHECK_EQUAL((size_t) 2, configMap1.getMultiConfigCount("_config"));
00067 BOOST_CHECK(configMap1.getConfigCount() == 3);
00068 BOOST_CHECK(configMap1.configIsEmpty() == false);
00069
00070
00071
00072
00073
00074
00075 Config config5;
00076 configMap1.getConfig("config", config5);
00077 BOOST_CHECK_EQUAL(config2, config5);
00078
00079 ConfigMap::const_iterator p = configMap1.configBegin();
00080 ConfigMap::const_iterator e = configMap1.configEnd();
00081 BOOST_CHECK_EQUAL(config3, p->second); p++;
00082 BOOST_CHECK_EQUAL(config4, p->second); p++;
00083 BOOST_CHECK_EQUAL(config2, p->second); p++;
00084
00085
00086
00087 std::pair<ConfigMap::const_iterator, ConfigMap::const_iterator> range
00088 = configMap1.getMultiConfigValues("_config");
00089 p = range.first;
00090 e = range.second;
00091 BOOST_CHECK_EQUAL(config3, p->second); p++;
00092 BOOST_CHECK_EQUAL(config4, p->second); p++;
00093 BOOST_CHECK(p == e);
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106 configMap2.addConfigs(configMap1);
00107 configMap1.clearConfig();
00108 BOOST_CHECK(configMap1.getConfigCount() == 0);
00109 BOOST_CHECK(configMap1.configIsEmpty() == true);
00110 BOOST_CHECK(configMap2.getConfigCount() == 4);
00111 BOOST_CHECK(configMap2.configIsEmpty() == false);
00112 }
00113
00114 BOOST_AUTO_TEST_SUITE_END()
00115
00116 }
00117 }