Example #1
0
        void TestIntSerialization()
        {
            filesystem::FileSystem filesystem;
            auto tempFile = filesystem.GetTempPath() / filesystem.UniquePath();

            TestConfig<int8_t> config8i1(13);
            TestConfig<int16_t> config16i1(14);
            TestConfig<int32_t> config32i1(15);
            TestConfig<int64_t> config64i1(16);
            TestConfig<uint8_t> config8u1(17);
            TestConfig<uint16_t> config16u1(18);
            TestConfig<uint32_t> config32u1(19);
            TestConfig<uint64_t> config64u1(20);

            {
                JsonOutputArchive ar(tempFile.ToShortString());

                ar.Serialize(config8i1, L"config8i");
                ar.Serialize(config16i1, L"config16i");
                ar.Serialize(config32i1, L"config32i");
                ar.Serialize(config64i1, L"config64i");
                ar.Serialize(config8u1, L"config8u");
                ar.Serialize(config16u1, L"config16u");
                ar.Serialize(config32u1, L"config32u");
                ar.Serialize(config64u1, L"config64u");
            }

            TestConfig<int8_t> config8i2;
            TestConfig<int16_t> config16i2;
            TestConfig<int32_t> config32i2;
            TestConfig<int64_t> config64i2;
            TestConfig<uint8_t> config8u2;
            TestConfig<uint16_t> config16u2;
            TestConfig<uint32_t> config32u2;
            TestConfig<uint64_t> config64u2;

            {
                JsonInputArchive ar(tempFile.ToShortString());

                ar.Serialize(config8i2, L"config8i");
                ar.Serialize(config16i2, L"config16i");
                ar.Serialize(config32i2, L"config32i");
                ar.Serialize(config64i2, L"config64i");
                ar.Serialize(config8u2, L"config8u");
                ar.Serialize(config16u2, L"config16u");
                ar.Serialize(config32u2, L"config32u");
                ar.Serialize(config64u2, L"config64u");
            }

            TS_ASSERT_EQUALS(config8i1.GetValue(), config8i2.GetValue());
            TS_ASSERT_EQUALS(config16i1.GetValue(), config16i2.GetValue());
            TS_ASSERT_EQUALS(config32i1.GetValue(), config32i2.GetValue());
            TS_ASSERT_EQUALS(config64i1.GetValue(), config64i2.GetValue());
            TS_ASSERT_EQUALS(config8u1.GetValue(), config8u2.GetValue());
            TS_ASSERT_EQUALS(config16u1.GetValue(), config16u2.GetValue());
            TS_ASSERT_EQUALS(config32u1.GetValue(), config32u2.GetValue());
            TS_ASSERT_EQUALS(config64u1.GetValue(), config64u2.GetValue());

            filesystem.Remove(tempFile);
        }
Example #2
0
        void TestProxySerialization()
        {
            filesystem::FileSystem filesystem;
            auto tempFile = filesystem.GetTempPath() / filesystem.UniquePath();

            TestProxyConfig<bool, std::string> config1(
                [](const std::string& v) { return v == "yes"; },
                [](bool v) { return v ? std::string("yes") : std::string("no"); },
                true);

            {
                JsonOutputArchive ar(tempFile.ToShortString());
                ar.Serialize(config1, L"config");
            }

            TestProxyConfig<bool, std::string> config2(
                [](const std::string& v) { return v == "yes"; },
                [](bool v) { return v ? std::string("yes") : std::string("no"); });

            {
                JsonInputArchive ar(tempFile.ToShortString());
                ar.Serialize(config2, L"config");
            }

            TS_ASSERT_EQUALS(config1.GetValue(), config2.GetValue());

            filesystem.Remove(tempFile);
        }
Example #3
0
        void TestStringSerialization()
        {
            filesystem::FileSystem filesystem;
            auto tempFile = filesystem.GetTempPath() / filesystem.UniquePath();

            TestConfig<std::string> config1("hello");
            TestConfig<std::wstring> configW1(L"whello");

            {
                JsonOutputArchive ar(tempFile.ToShortString());
                ar.Serialize(config1, L"config");
                ar.Serialize(configW1, L"configw");
            }

            TestConfig<std::string> config2("hello");
            TestConfig<std::wstring> configW2(L"whello");

            {
                JsonInputArchive ar(tempFile.ToShortString());
                ar.Serialize(config2, L"config");
                ar.Serialize(configW2, L"configw");
            }

            TS_ASSERT_EQUALS(config1.GetValue(), config2.GetValue());
            TS_ASSERT_EQUALS(configW1.GetValue(), configW2.GetValue());

            filesystem.Remove(tempFile);
        }
Example #4
0
ECode CTransformation::ToShortString(
    /* [out] */ String* str)
{
    VALIDATE_NOT_NULL(str);
    AutoPtr<StringBuilder> sb = new StringBuilder(64);
    ToShortString((IStringBuilder*)sb);
    return sb->ToString(str);
}
Example #5
0
        void TestBoolDefaultSerialization()
        {
            filesystem::FileSystem filesystem;
            auto tempFile = filesystem.GetTempPath() / filesystem.UniquePath();

            {
                auto stream = std::ofstream(tempFile.ToShortString());

                stream << "{ \"config\" : {} }";
            }

            TestDefaultConfig<bool> config(true);

            {
                JsonInputArchive ar(tempFile.ToShortString());
                ar.Serialize(config, L"config");
            }

            TS_ASSERT_EQUALS(true, config.GetValue());

            filesystem.Remove(tempFile);
        }
Example #6
0
        void TestBoolSerialization()
        {
            filesystem::FileSystem filesystem;
            auto tempFile = filesystem.GetTempPath() / filesystem.UniquePath();

            TestConfig<bool> config1(true);

            {
                JsonOutputArchive ar(tempFile.ToShortString());
                ar.Serialize(config1, L"config");
            }

            TestConfig<bool> config2;

            {
                JsonInputArchive ar(tempFile.ToShortString());
                ar.Serialize(config2, L"config");
            }

            TS_ASSERT_EQUALS(config1.GetValue(), config2.GetValue());

            filesystem.Remove(tempFile);
        }
Example #7
0
string Card::ToString(const bool compressed) const {
	if (compressed)
		return ToShortString();
	else
		return ToLongString();
}