From 8a8c0f348b0da4fd91c846211ede568a1f0f11c8 Mon Sep 17 00:00:00 2001 From: wwylele Date: Fri, 20 Jan 2017 21:30:11 +0200 Subject: Common: add ParamPackage --- src/tests/CMakeLists.txt | 1 + src/tests/common/param_package.cpp | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/tests/common/param_package.cpp (limited to 'src/tests') diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index b47156ca4..d1144ba77 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -1,6 +1,7 @@ set(SRCS glad.cpp tests.cpp + common/param_package.cpp core/file_sys/path_parser.cpp ) 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 +#include +#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 -- cgit v1.2.3