diff --git a/test/test_list.cpp b/test/test_list.cpp index dd944b62..3586b739 100644 --- a/test/test_list.cpp +++ b/test/test_list.cpp @@ -575,6 +575,22 @@ namespace CHECK(are_equal); } + //************************************************************************* + TEST_FIXTURE(SetupFixture, test_pop_front_exception) + { + DataNDC data; + + CHECK_THROW(data.pop_front(), etl::list_empty); + } + + //************************************************************************* + TEST_FIXTURE(SetupFixture, test_pop_back_exception) + { + DataNDC data; + + CHECK_THROW(data.pop_back(), etl::list_empty); + } + //************************************************************************* TEST_FIXTURE(SetupFixture, test_erase_single) { @@ -764,6 +780,20 @@ namespace CHECK(are_equal); } + //************************************************************************* + TEST_FIXTURE(SetupFixture, test_unique_trivial) + { + CompareData compare_data; + DataNDC data; + + compare_data.unique(); + data.unique(); + + are_equal = std::equal(data.begin(), data.end(), compare_data.begin()); + + CHECK(are_equal); + } + //************************************************************************* TEST_FIXTURE(SetupFixture, test_remove) { @@ -820,6 +850,20 @@ namespace CHECK(are_equal); } + //************************************************************************* + TEST_FIXTURE(SetupFixture, test_sort_trivial) + { + CompareData compare_data; + DataNDC data; + + compare_data.sort(); + data.sort(); + + are_equal = std::equal(data.begin(), data.end(), compare_data.begin()); + + CHECK(are_equal); + } + //************************************************************************* TEST_FIXTURE(SetupFixture, test_splice_same) { @@ -1069,6 +1113,19 @@ namespace are_equal = std::equal(data.begin(), data.end(), compare_data.begin()); CHECK(are_equal); + // Move to same place. + begin = data.begin(); + std::advance(begin, 2); + end = begin; + std::advance(end, 3); + to = data.begin(); + std::advance(to, 2); + + DataNDC data2(data); + data.splice(to, data, begin, end); + are_equal = std::equal(data.begin(), data.end(), data2.begin()); + CHECK(are_equal); + // Move to illegal place. begin = data.begin(); std::advance(begin, 2); @@ -1350,5 +1407,14 @@ namespace CHECK_EQUAL(data0.size(), compare0.size()); CHECK_EQUAL(data1.size(), compare1.size()); } + + //************************************************************************* + TEST_FIXTURE(SetupFixture, test_merge_exception) + { + DataNDC2 data0(unsorted_data.begin(), unsorted_data.end()); + DataNDC2 data1(unsorted_data.begin(), unsorted_data.end()); + + CHECK_THROW(data0.merge(data1), etl::list_unsorted); + } }; }