diff --git a/test/tests/IniReaderTest.cpp b/test/tests/IniReaderTest.cpp index 9a8d0740ca..4a1822d58b 100644 --- a/test/tests/IniReaderTest.cpp +++ b/test/tests/IniReaderTest.cpp @@ -15,11 +15,10 @@ static auto Enum_Currency = ConfigEnum({}); TEST_F(IniReaderTest, create_empty) { - MemoryStream * ms = new MemoryStream(0); - ASSERT_NE(ms, nullptr); - ASSERT_EQ(ms->CanRead(), true); - ASSERT_EQ(ms->CanWrite(), true); - IIniReader * ir = CreateIniReader(ms); + MemoryStream ms(0); + ASSERT_EQ(ms.CanRead(), true); + ASSERT_EQ(ms.CanWrite(), true); + IIniReader * ir = CreateIniReader(&ms); ASSERT_NE(ir, nullptr); ASSERT_EQ(ir->GetBoolean("nobody", true), true); ASSERT_EQ(ir->GetCString("expects", nullptr), nullptr); @@ -27,16 +26,14 @@ TEST_F(IniReaderTest, create_empty) ASSERT_EQ(ir->GetFloat("inquisition", 1.234f), 1.234f); ASSERT_EQ(ir->GetSint32("universal_answer", 42), 42); delete ir; - delete ms; } TEST_F(IniReaderTest, read_prepared) { - MemoryStream * ms = new MemoryStream(predefined, 99); - ASSERT_NE(ms, nullptr); - ASSERT_EQ(ms->CanRead(), true); - ASSERT_EQ(ms->CanWrite(), false); - IIniReader * ir = CreateIniReader(ms); + MemoryStream ms(predefined, 99); + ASSERT_EQ(ms.CanRead(), true); + ASSERT_EQ(ms.CanWrite(), false); + IIniReader * ir = CreateIniReader(&ms); ASSERT_NE(ir, nullptr); ASSERT_EQ(ir->ReadSection("doesnt_exist"), false); ASSERT_EQ(ir->ReadSection("bool"), true); @@ -59,7 +56,6 @@ TEST_F(IniReaderTest, read_prepared) ASSERT_EQ(ir->ReadSection("int"), true); ASSERT_EQ(ir->GetSint32("one", 42), 1); delete ir; - delete ms; } const utf8 IniReaderTest::predefined[] = "[bool]\nboolval = true\n\n[int]\none = 1\nzero = 0\n\n[string]\npath = " diff --git a/test/tests/IniWriterTest.cpp b/test/tests/IniWriterTest.cpp index 58e0e4b9ef..d9aa2f12fd 100644 --- a/test/tests/IniWriterTest.cpp +++ b/test/tests/IniWriterTest.cpp @@ -15,127 +15,114 @@ static auto Enum_Currency = ConfigEnum({ TEST_F(IniWriterTest, create_empty) { - MemoryStream * ms = new MemoryStream(0); - ASSERT_NE(ms, nullptr); - ASSERT_EQ(ms->CanRead(), true); - ASSERT_EQ(ms->CanWrite(), true); - IIniWriter * iw = CreateIniWriter(ms); + MemoryStream ms(0); + ASSERT_EQ(ms.CanRead(), true); + ASSERT_EQ(ms.CanWrite(), true); + IIniWriter * iw = CreateIniWriter(&ms); ASSERT_NE(iw, nullptr); delete iw; - delete ms; } TEST_F(IniWriterTest, create_one_section) { - MemoryStream * ms = new MemoryStream(1000); - ASSERT_NE(ms, nullptr); - IIniWriter * iw = CreateIniWriter(ms); + MemoryStream ms(1000); + IIniWriter * iw = CreateIniWriter(&ms); ASSERT_NE(iw, nullptr); iw->WriteSection("OpenRCT2"); int8_t null_terminator = 0; - ms->Write(&null_terminator, 1); - ASSERT_GE(ms->GetPosition(), 12); - ASSERT_LE(ms->GetPosition(), 13); // Accomodate for varying-sized newline (Windows) - ASSERT_EQ(ms->GetLength(), ms->GetPosition()); - ms->SetPosition(0); - const char * ini = (const char *)ms->ReadString(); + ms.Write(&null_terminator, 1); + ASSERT_GE(ms.GetPosition(), 12); + ASSERT_LE(ms.GetPosition(), 13); // Accomodate for varying-sized newline (Windows) + ASSERT_EQ(ms.GetLength(), ms.GetPosition()); + ms.SetPosition(0); + const char * ini = (const char *)ms.ReadString(); ASSERT_STREQ(ini, "[OpenRCT2]" PLATFORM_NEWLINE); Memory::Free(ini); delete iw; - delete ms; } TEST_F(IniWriterTest, create_multiple_sections) { - MemoryStream * ms = new MemoryStream(1000); - ASSERT_NE(ms, nullptr); - IIniWriter * iw = CreateIniWriter(ms); + MemoryStream ms(1000); + IIniWriter * iw = CreateIniWriter(&ms); ASSERT_NE(iw, nullptr); iw->WriteSection("OpenRCT1"); iw->WriteSection("OpenRCT2"); iw->WriteSection("OpenRCT3"); iw->WriteSection("OpenRCT4"); int8_t null_terminator = 0; - ms->Write(&null_terminator, 1); - ASSERT_GE(ms->GetPosition(), 48); - ASSERT_LE(ms->GetPosition(), 55); // Accomodate for varying-sized newline (Windows) - ASSERT_EQ(ms->GetLength(), ms->GetPosition()); - ms->SetPosition(0); - const char * ini = (const char *)ms->ReadString(); + ms.Write(&null_terminator, 1); + ASSERT_GE(ms.GetPosition(), 48); + ASSERT_LE(ms.GetPosition(), 55); // Accomodate for varying-sized newline (Windows) + ASSERT_EQ(ms.GetLength(), ms.GetPosition()); + ms.SetPosition(0); + const char * ini = (const char *)ms.ReadString(); ASSERT_STREQ(ini, "[OpenRCT1]" PLATFORM_NEWLINE PLATFORM_NEWLINE "[OpenRCT2]" PLATFORM_NEWLINE PLATFORM_NEWLINE "[OpenRCT3]" PLATFORM_NEWLINE PLATFORM_NEWLINE "[OpenRCT4]" PLATFORM_NEWLINE); Memory::Free(ini); delete iw; - delete ms; } TEST_F(IniWriterTest, create_loose_bool_entry) { - MemoryStream * ms = new MemoryStream(1000); - ASSERT_NE(ms, nullptr); - IIniWriter * iw = CreateIniWriter(ms); + MemoryStream ms(1000); + IIniWriter * iw = CreateIniWriter(&ms); ASSERT_NE(iw, nullptr); iw->WriteBoolean("boolval", true); int8_t null_terminator = 0; - ms->Write(&null_terminator, 1); - ASSERT_GE(ms->GetPosition(), 16); - ASSERT_LE(ms->GetPosition(), 17); // Accomodate for varying-sized newline (Windows) - ASSERT_EQ(ms->GetLength(), ms->GetPosition()); - ms->SetPosition(0); - const char * ini = (const char *)ms->ReadString(); + ms.Write(&null_terminator, 1); + ASSERT_GE(ms.GetPosition(), 16); + ASSERT_LE(ms.GetPosition(), 17); // Accomodate for varying-sized newline (Windows) + ASSERT_EQ(ms.GetLength(), ms.GetPosition()); + ms.SetPosition(0); + const char * ini = (const char *)ms.ReadString(); ASSERT_STREQ(ini, "boolval = true" PLATFORM_NEWLINE); Memory::Free(ini); delete iw; - delete ms; } TEST_F(IniWriterTest, create_loose_enum_entry) { - MemoryStream * ms = new MemoryStream(1000); - ASSERT_NE(ms, nullptr); - IIniWriter * iw = CreateIniWriter(ms); + MemoryStream ms(1000); + IIniWriter * iw = CreateIniWriter(&ms); ASSERT_NE(iw, nullptr); iw->WriteEnum("by_string", "stringval"); iw->WriteEnum("sint32", 0, Enum_Currency); int8_t null_terminator = 0; - ms->Write(&null_terminator, 1); - ASSERT_GE(ms->GetPosition(), 34); - ASSERT_LE(ms->GetPosition(), 36); // Accomodate for varying-sized newline (Windows) - ASSERT_EQ(ms->GetLength(), ms->GetPosition()); - ms->SetPosition(0); - const char * ini = (const char *)ms->ReadString(); + ms.Write(&null_terminator, 1); + ASSERT_GE(ms.GetPosition(), 34); + ASSERT_LE(ms.GetPosition(), 36); // Accomodate for varying-sized newline (Windows) + ASSERT_EQ(ms.GetLength(), ms.GetPosition()); + ms.SetPosition(0); + const char * ini = (const char *)ms.ReadString(); ASSERT_STREQ(ini, "by_string = stringval" PLATFORM_NEWLINE "sint32 = 0" PLATFORM_NEWLINE); Memory::Free(ini); delete iw; - delete ms; } TEST_F(IniWriterTest, create_loose_float_entry) { - MemoryStream * ms = new MemoryStream(1000); - ASSERT_NE(ms, nullptr); - IIniWriter * iw = CreateIniWriter(ms); + MemoryStream ms(1000); + IIniWriter * iw = CreateIniWriter(&ms); ASSERT_NE(iw, nullptr); iw->WriteFloat("one", 1.); int8_t null_terminator = 0; - ms->Write(&null_terminator, 1); - ASSERT_GE(ms->GetPosition(), 16); - ASSERT_LE(ms->GetPosition(), 17); // Accomodate for varying-sized newline (Windows) - ASSERT_EQ(ms->GetLength(), ms->GetPosition()); - ms->SetPosition(0); - const char * ini = (const char *)ms->ReadString(); + ms.Write(&null_terminator, 1); + ASSERT_GE(ms.GetPosition(), 16); + ASSERT_LE(ms.GetPosition(), 17); // Accomodate for varying-sized newline (Windows) + ASSERT_EQ(ms.GetLength(), ms.GetPosition()); + ms.SetPosition(0); + const char * ini = (const char *)ms.ReadString(); // This will be non-fatal due to float. EXPECT_STREQ(ini, "one = 1.000000" PLATFORM_NEWLINE); Memory::Free(ini); delete iw; - delete ms; } TEST_F(IniWriterTest, create_loose_sint32_entry) { - MemoryStream * ms = new MemoryStream(1000); - ASSERT_NE(ms, nullptr); - IIniWriter * iw = CreateIniWriter(ms); + MemoryStream ms(1000); + IIniWriter * iw = CreateIniWriter(&ms); ASSERT_NE(iw, nullptr); iw->WriteSint32("one", 1); iw->WriteSint32("zero", 0); @@ -143,44 +130,40 @@ TEST_F(IniWriterTest, create_loose_sint32_entry) iw->WriteSint32("intmin", (std::numeric_limits::min)()); iw->WriteSint32("intmax", (std::numeric_limits::max)()); int8_t null_terminator = 0; - ms->Write(&null_terminator, 1); - ASSERT_GE(ms->GetPosition(), 73); - ASSERT_LE(ms->GetPosition(), 78); // Accomodate for varying-sized newline (Windows) - ASSERT_EQ(ms->GetLength(), ms->GetPosition()); - ms->SetPosition(0); - const char * ini = (const char *)ms->ReadString(); + ms.Write(&null_terminator, 1); + ASSERT_GE(ms.GetPosition(), 73); + ASSERT_LE(ms.GetPosition(), 78); // Accomodate for varying-sized newline (Windows) + ASSERT_EQ(ms.GetLength(), ms.GetPosition()); + ms.SetPosition(0); + const char * ini = (const char *)ms.ReadString(); ASSERT_STREQ(ini, "one = 1" PLATFORM_NEWLINE "zero = 0" PLATFORM_NEWLINE "minusone = -1" PLATFORM_NEWLINE "intmin = -2147483648" PLATFORM_NEWLINE "intmax = 2147483647" PLATFORM_NEWLINE); Memory::Free(ini); delete iw; - delete ms; } TEST_F(IniWriterTest, create_loose_string_entry) { - MemoryStream * ms = new MemoryStream(1000); - ASSERT_NE(ms, nullptr); - IIniWriter * iw = CreateIniWriter(ms); + MemoryStream ms(1000); + IIniWriter * iw = CreateIniWriter(&ms); ASSERT_NE(iw, nullptr); iw->WriteString("path", u8"C:'\\some/dir\\here/神鷹暢遊"); int8_t null_terminator = 0; - ms->Write(&null_terminator, 1); - ASSERT_GE(ms->GetPosition(), 43); - ASSERT_LE(ms->GetPosition(), 44); // Accomodate for varying-sized newline (Windows) - ASSERT_EQ(ms->GetLength(), ms->GetPosition()); - ms->SetPosition(0); - const char * ini = (const char *)ms->ReadString(); + ms.Write(&null_terminator, 1); + ASSERT_GE(ms.GetPosition(), 43); + ASSERT_LE(ms.GetPosition(), 44); // Accomodate for varying-sized newline (Windows) + ASSERT_EQ(ms.GetLength(), ms.GetPosition()); + ms.SetPosition(0); + const char * ini = (const char *)ms.ReadString(); ASSERT_STREQ(ini, "path = \"C:'\\\\some/dir\\\\here/\xE7\xA5\x9E\xE9\xB7\xB9\xE6\x9A\xA2\xE9\x81\x8A\"" PLATFORM_NEWLINE); Memory::Free(ini); delete iw; - delete ms; } TEST_F(IniWriterTest, create_multiple_section_with_values) { - MemoryStream * ms = new MemoryStream(1000); - ASSERT_NE(ms, nullptr); - IIniWriter * iw = CreateIniWriter(ms); + MemoryStream ms(1000); + IIniWriter * iw = CreateIniWriter(&ms); ASSERT_NE(iw, nullptr); iw->WriteSection("bool"); iw->WriteBoolean("boolval", true); @@ -190,17 +173,16 @@ TEST_F(IniWriterTest, create_multiple_section_with_values) iw->WriteSection("string"); iw->WriteString("path", u8"C:'\\some/dir\\here/神鷹暢遊"); int8_t null_terminator = 0; - ms->Write(&null_terminator, 1); - ASSERT_GE(ms->GetPosition(), 99); - ASSERT_LE(ms->GetPosition(), 108); // Accomodate for varying-sized newline (Windows) - ASSERT_EQ(ms->GetLength(), ms->GetPosition()); - ms->SetPosition(0); - const char * ini = (const char *)ms->ReadString(); + ms.Write(&null_terminator, 1); + ASSERT_GE(ms.GetPosition(), 99); + ASSERT_LE(ms.GetPosition(), 108); // Accomodate for varying-sized newline (Windows) + ASSERT_EQ(ms.GetLength(), ms.GetPosition()); + ms.SetPosition(0); + const char * ini = (const char *)ms.ReadString(); ASSERT_STREQ(ini, "[bool]" PLATFORM_NEWLINE "boolval = true" PLATFORM_NEWLINE PLATFORM_NEWLINE "[int]" PLATFORM_NEWLINE "one = 1" PLATFORM_NEWLINE "zero = 0" PLATFORM_NEWLINE PLATFORM_NEWLINE "[string]" PLATFORM_NEWLINE "path = " "\"C:'\\\\some/dir\\\\here/\xE7\xA5\x9E\xE9\xB7\xB9\xE6\x9A\xA2\xE9\x81\x8A\"" PLATFORM_NEWLINE); Memory::Free(ini); delete iw; - delete ms; }