Added self assignment tests.

This commit is contained in:
jwellbelove 2015-01-24 19:32:09 +00:00
parent 8acde380fa
commit 46de221cfe
4 changed files with 53 additions and 27 deletions

View File

@ -59,11 +59,11 @@ namespace
TEST(test_assignment)
{
Data data = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Data otherData;
Data other_data;
otherData = data;
other_data = data;
bool isEqual = std::equal(data.begin(), data.end(), otherData.begin());
bool isEqual = std::equal(data.begin(), data.end(), other_data.begin());
CHECK(isEqual);
}

View File

@ -471,6 +471,22 @@ namespace
CHECK(are_equal);
}
//*************************************************************************
TEST_FIXTURE(SetupFixture, test_self_assignment)
{
CompareDataNDC compare_data(sorted_data.begin(), sorted_data.end());
DataNDC data(sorted_data.begin(), sorted_data.end());
DataNDC other_data(data);
other_data = other_data;
CHECK_EQUAL(data.size(), other_data.size());
are_equal = std::equal(data.begin(), data.end(), other_data.begin());
CHECK(are_equal);
}
//*************************************************************************
TEST_FIXTURE(SetupFixture, test_unique)
{

View File

@ -698,6 +698,22 @@ namespace
CHECK(are_equal);
}
//*************************************************************************
TEST_FIXTURE(SetupFixture, test_self_assignment)
{
CompareData compare_data(sorted_data.begin(), sorted_data.end());
DataNDC data(sorted_data.begin(), sorted_data.end());
DataNDC other_data = data;
other_data = other_data;
CHECK_EQUAL(data.size(), other_data.size());
are_equal = std::equal(data.begin(), data.end(), other_data.begin());
CHECK(are_equal);
}
//*************************************************************************
TEST_FIXTURE(SetupFixture, test_unique)
{

View File

@ -127,13 +127,28 @@ namespace
TEST_FIXTURE(SetupFixture, test_assignment)
{
Data data(initial_data.begin(), initial_data.end());
Data otherData;
Data other_data;
otherData = data;
other_data = data;
bool isEqual = std::equal(data.begin(),
data.end(),
otherData.begin());
other_data.begin());
CHECK(isEqual);
}
//*************************************************************************
TEST_FIXTURE(SetupFixture, test_self_assignment)
{
Data data(initial_data.begin(), initial_data.end());
Data other_data(data);
other_data = other_data;
bool isEqual = std::equal(data.begin(),
data.end(),
other_data.begin());
CHECK(isEqual);
}
@ -887,26 +902,5 @@ namespace
const Data initial2(initial_data.begin(), initial_data.end());
CHECK((initial >= initial2) == (initial_data >= initial_data));
}
//*************************************************************************
TEST(test_swap)
{
std::vector<int> first = { 1, 2, 3, 4, 5, 6 };
std::vector<int> second = { 6, 5, 4 };
Data data1(first.begin(), first.end());
Data data2(second.begin(), second.end());
swap(data1, data2);
CHECK_EQUAL(second.size(), data1.size());
CHECK_EQUAL(first.size(), data2.size());
CHECK_EQUAL(std::distance(second.begin(), second.end()), std::distance(data1.begin(), data1.end()));
CHECK_EQUAL(std::distance(first.begin(), first.end()), std::distance(data2.begin(), data2.end()));
CHECK(std::equal(second.begin(), second.end(), data1.begin()));
CHECK(std::equal(first.begin(), first.end(), data2.begin()));
}
};
}