From 46de221cfe520b45e5e5cd353ab9782d29aad55b Mon Sep 17 00:00:00 2001 From: jwellbelove Date: Sat, 24 Jan 2015 19:32:09 +0000 Subject: [PATCH] Added self assignment tests. --- test/test_array.cpp | 6 +++--- test/test_forward_list.cpp | 16 +++++++++++++++ test/test_list.cpp | 16 +++++++++++++++ test/test_vector.cpp | 42 ++++++++++++++++---------------------- 4 files changed, 53 insertions(+), 27 deletions(-) diff --git a/test/test_array.cpp b/test/test_array.cpp index 732fb505..9555ec01 100644 --- a/test/test_array.cpp +++ b/test/test_array.cpp @@ -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); } diff --git a/test/test_forward_list.cpp b/test/test_forward_list.cpp index 566f1504..ddd7da6b 100644 --- a/test/test_forward_list.cpp +++ b/test/test_forward_list.cpp @@ -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) { diff --git a/test/test_list.cpp b/test/test_list.cpp index 823a8b2b..a890fb85 100644 --- a/test/test_list.cpp +++ b/test/test_list.cpp @@ -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) { diff --git a/test/test_vector.cpp b/test/test_vector.cpp index 41b30891..7d282abc 100644 --- a/test/test_vector.cpp +++ b/test/test_vector.cpp @@ -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 first = { 1, 2, 3, 4, 5, 6 }; - std::vector 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())); - } }; }