--- /dev/null
+#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);
+}