123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- /*
- Copyright (c) Marshall Clow 2010-2012.
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- For more information, see http://www.boost.org
- */
- #include <string>
- #include <boost/algorithm/searching/boyer_moore.hpp>
- #include <boost/algorithm/searching/boyer_moore_horspool.hpp>
- #include <boost/algorithm/searching/knuth_morris_pratt.hpp>
- #define BOOST_TEST_MAIN
- #include <boost/test/unit_test.hpp>
- BOOST_AUTO_TEST_CASE( test_main )
- {
- const std::string cs;
- std::string estr;
- std::string str ( "abc" );
-
- // empty corpus, empty pattern
- BOOST_CHECK (
- boost::algorithm::boyer_moore_search (
- cs.begin (), cs.end (), estr.begin (), estr.end ())
- == std::make_pair(cs.begin(), cs.begin())
- );
- BOOST_CHECK (
- boost::algorithm::boyer_moore_horspool_search (
- cs.begin (), cs.end (), estr.begin (), estr.end ())
- == std::make_pair(cs.begin(), cs.begin())
- );
- BOOST_CHECK (
- boost::algorithm::knuth_morris_pratt_search (
- cs.begin (), cs.end (), estr.begin (), estr.end ())
- == std::make_pair(cs.begin(), cs.begin())
- );
- // empty corpus, non-empty pattern
- BOOST_CHECK (
- boost::algorithm::boyer_moore_search (
- estr.begin (), estr.end (), str.begin (), str.end ())
- == std::make_pair(estr.end(), estr.end())
- );
- BOOST_CHECK (
- boost::algorithm::boyer_moore_horspool_search (
- estr.begin (), estr.end (), str.begin (), str.end ())
- == std::make_pair(estr.end(), estr.end())
- );
- BOOST_CHECK (
- boost::algorithm::knuth_morris_pratt_search (
- estr.begin (), estr.end (), str.begin (), str.end ())
- == std::make_pair(estr.end(), estr.end())
- );
- // non-empty corpus, empty pattern
- BOOST_CHECK (
- boost::algorithm::boyer_moore_search (
- str.begin (), str.end (), estr.begin (), estr.end ())
- == std::make_pair(str.begin(), str.begin())
- );
- BOOST_CHECK (
- boost::algorithm::boyer_moore_horspool_search (
- str.begin (), str.end (), estr.begin (), estr.end ())
- == std::make_pair(str.begin(), str.begin())
- );
- BOOST_CHECK (
- boost::algorithm::knuth_morris_pratt_search (
- str.begin (), str.end (), estr.begin (), estr.end ())
- == std::make_pair(str.begin(), str.begin())
- );
- }
|