Added test cases for DataFixture

This commit is contained in:
Sebastian Messmer 2015-04-25 17:03:18 +02:00
parent dcc979d65f
commit a07c03d752
3 changed files with 81 additions and 1 deletions

View File

@ -104,4 +104,7 @@ bool operator==(const Data &lhs, const Data &rhs) {
return lhs.size() == rhs.size() && 0 == memcmp(lhs.data(), rhs.data(), lhs.size());
}
bool operator!=(const Data &lhs, const Data &rhs) {
return !operator==(lhs, rhs);
}
}

View File

@ -41,8 +41,9 @@ private:
DISALLOW_COPY_AND_ASSIGN(Data);
};
//TODO Test operator==
//TODO Test operator== and operator!=
bool operator==(const Data &lhs, const Data &rhs);
bool operator!=(const Data &lhs, const Data &rhs);
}

View File

@ -0,0 +1,76 @@
#include "google/gtest/gtest.h"
#include "../../data/Data.h"
#include "../../data/DataFixture.h"
using ::testing::Test;
using ::testing::WithParamInterface;
using ::testing::Values;
namespace bf = boost::filesystem;
using namespace cpputils;
class DataFixtureTest: public Test {
};
TEST_F(DataFixtureTest, CreateEmptyFixture) {
Data data = DataFixture::generate(0);
EXPECT_EQ(0, data.size());
}
TEST_F(DataFixtureTest, CreateOneByteFixture) {
Data data = DataFixture::generate(1);
EXPECT_EQ(1, data.size());
}
TEST_F(DataFixtureTest, CreateLargerFixture) {
Data data = DataFixture::generate(20 * 1024 * 1024);
EXPECT_EQ(20 * 1024 * 1024, data.size());
}
TEST_F(DataFixtureTest, FixturesAreDeterministic_DefaultSeed) {
Data data1 = DataFixture::generate(1024 * 1024);
Data data2 = DataFixture::generate(1024 * 1024);
EXPECT_EQ(data1, data2);
}
TEST_F(DataFixtureTest, FixturesAreDeterministic_SeedIs5) {
Data data1 = DataFixture::generate(1024 * 1024, 5);
Data data2 = DataFixture::generate(1024 * 1024, 5);
EXPECT_EQ(data1, data2);
}
TEST_F(DataFixtureTest, DifferentSeedIsDifferentFixture) {
Data data1 = DataFixture::generate(1024 * 1024, 0);
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));
}