92 lines
2.1 KiB
C++
92 lines
2.1 KiB
C++
#include "BaseTestCase.h"
|
|
|
|
#include "PackStream.h"
|
|
#include "System.h"
|
|
|
|
TEST(PackStream, All) {
|
|
PackStream *stream;
|
|
int i;
|
|
int data_i;
|
|
double data_d;
|
|
const char *data_s;
|
|
char buffer[100];
|
|
|
|
/* 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_s = "Testing string 0123 (accentué) !";
|
|
stream->write(data_s, 100);
|
|
stream->write(data_s, 4);
|
|
stream->write(data_s, 5);
|
|
}
|
|
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(buffer, 100);
|
|
ASSERT_STREQ("Testing string 0123 (accentué) !", buffer);
|
|
stream->read(buffer, 4);
|
|
ASSERT_STREQ("Tes", buffer);
|
|
stream->read(buffer, 3);
|
|
ASSERT_STREQ("Te", buffer);
|
|
}
|
|
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;
|
|
}
|