#include "BaseTestCase.h" #include "PackStream.h" #include "System.h" TEST(PackStream, All) { PackStream *stream; int i; int data_i; double data_d; string data_s; /* Writing to pack */ stream = new PackStream(); stream->bindToFile(TMP_DIRECTORY "test_paysages_pack", true); for (i = 0; i < 5; i++) { data_i = i; stream->write(&data_i); data_d = to_double(i); stream->write(&data_d); data_d = to_double(i + 0.142378632); stream->write(&data_d); data_s = "Testing string 0123 (accentué) !"; stream->write(data_s); } delete stream; /* Reading from pack */ stream = new PackStream(); stream->bindToFile(TMP_DIRECTORY "test_paysages_pack"); for (i = 0; i < 5; i++) { stream->read(&data_i); ASSERT_EQ(i, data_i); stream->read(&data_d); ASSERT_DOUBLE_EQ(to_double(i), data_d); stream->read(&data_d); ASSERT_DOUBLE_EQ(to_double(i) + 0.142378632, data_d); data_s = stream->readString(); ASSERT_STREQ("Testing string 0123 (accentué) !", data_s.c_str()); } delete stream; } TEST(PackStream, Skip) { PackStream *stream; int i1 = 1, i2 = 2, i3 = 3; double d1 = 1.1, d2 = 2.2; stream = new PackStream(); stream->bindToFile(TMP_DIRECTORY "test_paysages_pack", true); stream->write(&i1); stream->write(&i2); stream->write(&d1); stream->write(&d2); stream->write(&i3); delete stream; int resi; double resd; stream = new PackStream(); stream->bindToFile(TMP_DIRECTORY "test_paysages_pack"); stream->skip(i1, 1); stream->read(&resi); EXPECT_EQ(2, resi); delete stream; stream = new PackStream(); stream->bindToFile(TMP_DIRECTORY "test_paysages_pack"); stream->skip(i1, 2); stream->read(&resd); EXPECT_DOUBLE_EQ(1.1, resd); delete stream; stream = new PackStream(); stream->bindToFile(TMP_DIRECTORY "test_paysages_pack"); stream->skip(i1, 2); stream->skip(d1, 2); stream->read(&resi); EXPECT_EQ(3, resi); delete stream; }