summaryrefslogtreecommitdiffstats
path: root/src/tests/common/param_package.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/common/param_package.cpp')
-rw-r--r--src/tests/common/param_package.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/tests/common/param_package.cpp b/src/tests/common/param_package.cpp
new file mode 100644
index 000000000..efec2cc86
--- /dev/null
+++ b/src/tests/common/param_package.cpp
@@ -0,0 +1,25 @@
+// Copyright 2017 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include <catch.hpp>
+#include <math.h>
+#include "common/param_package.h"
+
+namespace Common {
+
+TEST_CASE("ParamPackage", "[common]") {
+ ParamPackage original{
+ {"abc", "xyz"}, {"def", "42"}, {"jkl", "$$:1:$2$,3"},
+ };
+ original.Set("ghi", 3.14f);
+ ParamPackage copy(original.Serialize());
+ REQUIRE(copy.Get("abc", "") == "xyz");
+ REQUIRE(copy.Get("def", 0) == 42);
+ REQUIRE(std::abs(copy.Get("ghi", 0.0f) - 3.14f) < 0.01f);
+ REQUIRE(copy.Get("jkl", "") == "$$:1:$2$,3");
+ REQUIRE(copy.Get("mno", "uvw") == "uvw");
+ REQUIRE(copy.Get("abc", 42) == 42);
+}
+
+} // namespace Common