From 366274ff0a196ddbab67d5e2b831dac8434a0988 Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 6 Jul 2016 22:56:02 +0300 Subject: [PATCH 1/2] Added new tests to is_palindrome_test Added evenNonPalindrome and oddPalindrome tests. --- test/is_palindrome_test.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/is_palindrome_test.cpp b/test/is_palindrome_test.cpp index ed7b1c4..b9279c9 100644 --- a/test/is_palindrome_test.cpp +++ b/test/is_palindrome_test.cpp @@ -44,22 +44,22 @@ void test_is_palindrome() const std::list empty; const std::vector singleElement{'z'}; int oddNonPalindrome[] = {3,2,2}; + const int oddPalindrome[] = {1,2,3,2,1}; const int evenPalindrome[] = {1,2,2,1}; + int evenNonPalindrome[] = {1,4,8,8}; // Test a default operator== BOOST_CHECK ( ba::is_palindrome(empty)); BOOST_CHECK ( ba::is_palindrome(singleElement)); BOOST_CHECK (!ba::is_palindrome(std::begin(oddNonPalindrome), std::end(oddNonPalindrome))); + BOOST_CHECK ( ba::is_palindrome(std::begin(oddPalindrome), std::end(oddPalindrome))); BOOST_CHECK ( ba::is_palindrome(std::begin(evenPalindrome), std::end(evenPalindrome))); + BOOST_CHECK (!ba::is_palindrome(std::begin(evenNonPalindrome), std::end(evenNonPalindrome))); //Test the custom comparators BOOST_CHECK ( ba::is_palindrome(empty.begin(), empty.end(), functorComparator())); BOOST_CHECK (!ba::is_palindrome(std::begin(oddNonPalindrome), std::end(oddNonPalindrome), funcComparator)); BOOST_CHECK ( ba::is_palindrome(evenPalindrome, std::equal_to())); - - //Only C++14 or newer - //auto lambdaComparator = [](const auto& v1, const auto& v2){ return v1 == v2; }; - //BOOST_CHECK ( ba::is_palindrome(singleElement, lambdaComparator)); } BOOST_AUTO_TEST_CASE( test_main ) From fb964d72d7933b4d7cbb9021625a3907edc81b3d Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 6 Jul 2016 23:00:55 +0300 Subject: [PATCH 2/2] Updated documentation for is_palindrome Added two lines with examples. --- doc/is_palindrome.qbk | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/is_palindrome.qbk b/doc/is_palindrome.qbk index d1477a2..928de6f 100644 --- a/doc/is_palindrome.qbk +++ b/doc/is_palindrome.qbk @@ -45,7 +45,9 @@ Given the containers: const std::list empty, const std::vector singleElement{'z'}, int oddNonPalindrome[] = {3,2,2}, -const int evenPalindrome[] = {1,2,2,1}, then +const int oddPalindrome[] = {1,2,3,2,1}, +const int evenPalindrome[] = {1,2,2,1}, +int evenNonPalindrome[] = {1,4,8,8}, then `` is_palindrome(empty)) --> true //empty range @@ -54,7 +56,9 @@ is_palindrome(std::begin(oddNonPalindrome), std::end(oddNonPalindrome))) --> fal is_palindrome(std::begin(evenPalindrome), std::end(evenPalindrome))) --> true is_palindrome(empty.begin(), empty.end(), functorComparator())) --> true //empty range is_palindrome(std::begin(oddNonPalindrome), std::end(oddNonPalindrome), funcComparator)) --> false -is_palindrome(evenPalindrome, std::equal_to())) --> true +is_palindrome(std::begin(oddPalindrome), std::end(oddPalindrome)) --> true +is_palindrome(evenPalindrome, std::equal_to())) --> true +is_palindrome(std::begin(evenNonPalindrome), std::end(evenNonPalindrome)) --> false `` [heading Iterator Requirements]