⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chset_tests.cpp

📁 boost库提供标准的C++ API 配合dev c++使用,功能更加强大
💻 CPP
📖 第 1 页 / 共 2 页
字号:
        "\t!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]\n"
        "\t_____________________________________________________________\n"
        "\n"
        "\t               **********       **************************   \ta\n"
        "\t                    **********************                   \tb\n"
        "\t********************                      *******************\td\n"
        "\t                 *                                           \te\n"
        "\t***************** *******************************************\tf\n"
        "\n"
        "\n"
        "\t_____________________________________________________________\n"
        "\tInverse\n"
        "\t!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]\n"
        "\t_____________________________________________________________\n"
        "\n"
        "\t***************          *******                          ***\t~a\n"
        "\t***************          *******                          ***\tchset<>(~a)\n"
        "\t               **********       **************************   \t~~a\n"
        "\t********************                      *******************\t~b\n"
        "\n"
        "\n"
        "\t_____________________________________________________________\n"
        "\tUnion\n"
        "\t!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]\n"
        "\t_____________________________________________________________\n"
        "\n"
        "\t               **********       **************************   \ta\n"
        "\t                    **********************                   \tb\n"
        "\t********************                      *******************\td\n"
        "\t                 *                                           \te\n"
        "\t***************** *******************************************\tf\n"
        "\t               *******************************************   \ta | b\n"
        "\t               *******************************************   \ta | b_\n"
        "\t               *******************************************   \tb_ | a\n"
        "\t*************************************************************\ta | anychar_p\n"
        "\t*************************************************************\tb | anychar_p\n"
        "\t*************************       *****************************\ta | d\n"
        "\t*************************       *****************************\ta | d_\n"
        "\t*************************       *****************************\td_ | a\n"
        "\t               **********       **************************   \ta | e_\n"
        "\t                 *  **********************                   \te_ | b\n"
        "\t*************************************************************\ta | f_\n"
        "\t***************** *******************************************\tf_ | b\n"
        "\n"
        "\n"
        "\t_____________________________________________________________\n"
        "\tIntersection\n"
        "\t!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]\n"
        "\t_____________________________________________________________\n"
        "\n"
        "\t               **********       **************************   \ta\n"
        "\t                    **********************                   \tb\n"
        "\t********************                      *******************\td\n"
        "\t                 *                                           \te\n"
        "\t***************** *******************************************\tf\n"
        "\t                    *****       **********                   \ta & b\n"
        "\t                    *****       **********                   \ta & b_\n"
        "\t                    *****       **********                   \tb_ & a\n"
        "\t               *****                      ****************   \ta & d\n"
        "\t               *****                      ****************   \ta & d_\n"
        "\t               *****                      ****************   \td_ & a\n"
        "\t                 *                                           \ta & e_\n"
        "\t                                                             \te_ & b\n"
        "\t               ** *******       **************************   \ta & f_\n"
        "\t                    **********************                   \tf_ & b\n"
        "\t               **********       **************************   \ta & anychar_p\n"
        "\t                    **********************                   \tb & anychar_p\n"
        "\n"
        "\n"
        "\t_____________________________________________________________\n"
        "\tDifference\n"
        "\t!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]\n"
        "\t_____________________________________________________________\n"
        "\n"
        "\t               **********       **************************   \ta\n"
        "\t                    **********************                   \tb\n"
        "\t********************                      *******************\td\n"
        "\t                 *                                           \te\n"
        "\t***************** *******************************************\tf\n"
        "\t               *****                      ****************   \ta - b\n"
        "\t                         *******                             \tb - a\n"
        "\t               *****                      ****************   \ta - b_\n"
        "\t                         *******                             \tb_ - a\n"
        "\t                    *****       **********                   \ta - d\n"
        "\t***************                                           ***\td - a\n"
        "\t                    *****       **********                   \ta - d_\n"
        "\t***************                                           ***\td_ - a\n"
        "\t               ** *******       **************************   \ta - e_\n"
        "\t                 *                                           \te_ - b\n"
        "\t                 *                                           \ta - f_\n"
        "\t***************** **                      *******************\tf_ - b\n"
        "\t                                                             \ta - anychar_p\n"
        "\t***************          *******                          ***\tanychar_p - a\n"
        "\t                                                             \tb - anychar_p\n"
        "\t********************                      *******************\tanychar_p - b\n"
        "\n"
        "\n"
        "\t_____________________________________________________________\n"
        "\tXor\n"
        "\t!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]\n"
        "\t_____________________________________________________________\n"
        "\n"
        "\t               **********       **************************   \ta\n"
        "\t                    **********************                   \tb\n"
        "\t********************                      *******************\td\n"
        "\t                 *                                           \te\n"
        "\t***************** *******************************************\tf\n"
        "\t               *****     *******          ****************   \ta ^ b\n"
        "\t               *****     *******          ****************   \ta ^ b_\n"
        "\t               *****     *******          ****************   \tb_ ^ a\n"
        "\t***************     *****       **********                ***\ta ^ d\n"
        "\t***************     *****       **********                ***\ta ^ d_\n"
        "\t***************     *****       **********                ***\td_ ^ a\n"
        "\t               ** *******       **************************   \ta ^ e_\n"
        "\t                 *  **********************                   \te_ ^ b\n"
        "\t***************  *       *******                          ***\ta ^ f_\n"
        "\t***************** **                      *******************\tf_ ^ b\n"
        "\t               **********       **************************   \ta ^ nothing_p\n"
        "\t***************          *******                          ***\ta ^ anychar_p\n"
        "\t                    **********************                   \tb ^ nothing_p\n"
        "\t********************                      *******************\tb ^ anychar_p\n"
    ;

    void chset_tests()
    {
        sstream_t tout, aout, bout;

        tout << expected_output;

        chset_tests(aout, "0-9A-Z", '5', 'J', '2');
        chset_tests(bout, L"0-9A-Z", L'5', L'J', L'2');

#define narrow_chset_works (getstring(aout) == getstring(tout))
#define wide_chset_works   (getstring(bout) == getstring(tout))

        if (!narrow_chset_works || !wide_chset_works)
        {
            std::cout << "EXPECTED:\n" <<
                getstring(tout);
            std::cout << "GOT:\n" <<
                getstring(aout);
            std::cout << "AND:\n" <<
                getstring(bout);
        }

        BOOST_CHECK(narrow_chset_works);
        BOOST_CHECK(wide_chset_works);
    }

} // namespace

///////////////////////////////////////////////////////////////////////////////
//
//  Main
//
///////////////////////////////////////////////////////////////////////////////

char const banner_name[]="Character set tests";
char const suite_name[]="spirit::chset tests";

ut::test_suite *
init_unit_test_suite(int argc, char *argv[])
{
    test::init(argc, argv);
    test::banner(banner_name);

    ut::test_suite* suite = BOOST_TEST_SUITE(suite_name);

    suite->add(BOOST_TEST_CASE(chset_tests));

    return suite;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -