1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
#include <gtest/gtest.h>
#include <cstddef>
#include "cpp-utils/data/Data.h"
#include "cpp-utils/data/DataFixture.h"
using ::testing::Test;
using namespace cpputils;
class DataFixtureTest: public Test {
};
TEST_F(DataFixtureTest, CreateEmptyFixture) {
const Data data = DataFixture::generate(0);
EXPECT_EQ(0u, data.size());
}
TEST_F(DataFixtureTest, CreateOneByteFixture) {
const Data data = DataFixture::generate(1);
EXPECT_EQ(1u, data.size());
}
TEST_F(DataFixtureTest, CreateLargerFixture) {
const Data data = DataFixture::generate(20 * 1024 * 1024);
EXPECT_EQ(20u * 1024u * 1024u, data.size());
}
TEST_F(DataFixtureTest, FixturesAreDeterministic_DefaultSeed) {
const Data data1 = DataFixture::generate(1024 * 1024);
const Data data2 = DataFixture::generate(1024 * 1024);
EXPECT_EQ(data1, data2);
}
TEST_F(DataFixtureTest, FixturesAreDeterministic_SeedIs5) {
const Data data1 = DataFixture::generate(1024 * 1024, 5);
const Data data2 = DataFixture::generate(1024 * 1024, 5);
EXPECT_EQ(data1, data2);
}
TEST_F(DataFixtureTest, DifferentSeedIsDifferentFixture) {
const Data data1 = DataFixture::generate(1024 * 1024, 0);
const Data data2 = DataFixture::generate(1024 * 1024, 1);
EXPECT_NE(data1, data2);
}
TEST_F(DataFixtureTest, FixturesAreDeterministic_DifferentSize_DefaultSeed_1) {
Data data1 = DataFixture::generate(1024);
Data data2 = DataFixture::generate(1);
EXPECT_EQ(0, std::memcmp(data1.data(), data2.data(), 1));
}
TEST_F(DataFixtureTest, FixturesAreDeterministic_DifferentSize_DefaultSeed_2) {
Data data1 = DataFixture::generate(1024);
Data data2 = DataFixture::generate(501); //Intentionally not 64bit-aligned, because the generate() function generates 64bit values for performance
EXPECT_EQ(0, std::memcmp(data1.data(), data2.data(), 501));
}
TEST_F(DataFixtureTest, FixturesAreDeterministic_DifferentSize_SeedIs5_1) {
Data data1 = DataFixture::generate(1024, 5);
Data data2 = DataFixture::generate(1, 5);
EXPECT_EQ(0, std::memcmp(data1.data(), data2.data(), 1));
}
TEST_F(DataFixtureTest, FixturesAreDeterministic_DifferentSize_SeedIs5_2) {
Data data1 = DataFixture::generate(1024, 5);
Data data2 = DataFixture::generate(501, 5); //Intentionally not 64bit-aligned, because the generate() function generates 64bit values for performance
EXPECT_EQ(0, std::memcmp(data1.data(), data2.data(), 501));
}
|