From 4cefcd0213e584b4fcac95bf46a528fe320177f7 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Tue, 4 Sep 2018 07:35:03 +0200 Subject: [PATCH] more detailed set_symmetric_difference test --- alib2std/test-src/extensions/AlgorithmTest.cpp | 17 +++++++++++++++++ alib2std/test-src/extensions/AlgorithmTest.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/alib2std/test-src/extensions/AlgorithmTest.cpp b/alib2std/test-src/extensions/AlgorithmTest.cpp index 1b4bb5bf97..3a35c1471c 100644 --- a/alib2std/test-src/extensions/AlgorithmTest.cpp +++ b/alib2std/test-src/extensions/AlgorithmTest.cpp @@ -1,6 +1,7 @@ #include "AlgorithmTest.h" #include <alib/algorithm> #include <alib/set> +#include <alib/vector> CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( AlgorithmTest, "bits" ); CPPUNIT_TEST_SUITE_REGISTRATION( AlgorithmTest ); @@ -139,3 +140,19 @@ void AlgorithmTest::testFindRange ( ) { CPPUNIT_ASSERT ( range.second - str.begin ( ) == 14 ); } } + +void AlgorithmTest::testSymmetricDifference ( ) { + ext::set < int > a { 1, 3, 5, 6, 7, 8, 9 }; + ext::set < int > b { 1, 2, 3, 4, 5, 7, 8 }; + + ext::vector < int > a_b { 6, 9 }; + ext::vector < int > b_a { 2, 4 }; + + ext::vector < int > a_b2; + ext::vector < int > b_a2; + + ext::set_symmetric_difference ( a.begin ( ), a.end ( ), b.begin ( ), b.end ( ), std::back_inserter ( a_b2 ), std::back_inserter ( b_a2 ) ); + + CPPUNIT_ASSERT ( a_b == a_b2 ); + CPPUNIT_ASSERT ( b_a == b_a2 ); +} diff --git a/alib2std/test-src/extensions/AlgorithmTest.h b/alib2std/test-src/extensions/AlgorithmTest.h index 688e981e3b..f10b9b302b 100644 --- a/alib2std/test-src/extensions/AlgorithmTest.h +++ b/alib2std/test-src/extensions/AlgorithmTest.h @@ -9,6 +9,7 @@ class AlgorithmTest : public CppUnit::TestFixture CPPUNIT_TEST( testExclude ); CPPUNIT_TEST( testTransform ); CPPUNIT_TEST( testFindRange ); + CPPUNIT_TEST( testSymmetricDifference ); CPPUNIT_TEST_SUITE_END(); public: @@ -18,6 +19,7 @@ public: void testExclude(); void testTransform(); void testFindRange(); + void testSymmetricDifference ( ); }; #endif // ALGORITHM_TEST_H_ -- GitLab