]> git.tdb.fi Git - libs/core.git/blobdiff - tests/maputils.cpp
Add unit tests
[libs/core.git] / tests / maputils.cpp
diff --git a/tests/maputils.cpp b/tests/maputils.cpp
new file mode 100644 (file)
index 0000000..78cdaad
--- /dev/null
@@ -0,0 +1,40 @@
+#include <map>
+#include <msp/core/maputils.h>
+#include <msp/test/test.h>
+
+using namespace std;
+using namespace Msp;
+
+class MapUtilTests: public Test::RegisteredTest<MapUtilTests>
+{
+public:
+       MapUtilTests();
+
+       static const char *get_name() { return "maputils"; }
+
+private:
+       void success();
+       void error();
+};
+
+
+MapUtilTests::MapUtilTests()
+{
+       add(&MapUtilTests::success, "success");
+       add(&MapUtilTests::error, "error").expect_throw<key_error>();
+}
+
+void MapUtilTests::success()
+{
+       map<int, string> m;
+       m[1] = "foo";
+       m[3] = "bar";
+       EXPECT_EQUAL(get_item(m, 1), "foo");
+       EXPECT_EQUAL(get_item(m, 3), "bar");
+}
+
+void MapUtilTests::error()
+{
+       map<int, string> m;
+       get_item(m, 0);
+}