]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // (C) Copyright Gennadiy Rozental 2001-2015. |
2 | // Distributed under the Boost Software License, Version 1.0. | |
3 | // (See accompanying file LICENSE_1_0.txt or copy at | |
4 | // http://www.boost.org/LICENSE_1_0.txt) | |
5 | ||
6 | // See http://www.boost.org/libs/test for the library home page. | |
7 | // | |
8 | // File : $RCSfile$ | |
9 | // | |
10 | // Version : $Revision$ | |
11 | // | |
12 | // Description : unit test for string comparison specializations | |
13 | // ***************************************************************************** | |
14 | ||
15 | #define BOOST_TEST_MAIN | |
16 | #include <boost/test/unit_test.hpp> | |
17 | #include <boost/test/utils/is_cstring.hpp> | |
18 | ||
19 | BOOST_AUTO_TEST_CASE( check_is_cstring_concept ) | |
20 | { | |
21 | namespace bp = boost::unit_test; | |
22 | BOOST_TEST((bp::is_cstring<char const*>::value)); | |
23 | BOOST_TEST((bp::is_cstring<char const []>::value)); | |
24 | BOOST_TEST((bp::is_cstring<char []>::value)); | |
25 | BOOST_TEST((bp::is_cstring<char *>::value)); | |
26 | } | |
27 | ||
28 | //____________________________________________________________________________// | |
29 | ||
30 | ||
31 | BOOST_AUTO_TEST_CASE( check_string_compare ) | |
32 | { | |
33 | char const* buf_ptr_cch = "abc"; | |
34 | char const buf_array_cch[] = "abc"; | |
35 | char buf_array_ch[] = "abc"; | |
36 | char* buf_ptr_ch = buf_array_ch; | |
37 | std::string buf_str = "abc"; | |
38 | ||
39 | BOOST_TEST((void*)buf_ptr_cch != (void*)buf_array_cch); | |
40 | BOOST_TEST((void*)buf_ptr_cch != (void*)buf_array_ch); | |
41 | BOOST_TEST((void*)buf_array_cch != (void*)buf_array_ch); | |
42 | ||
43 | BOOST_TEST(buf_ptr_cch == buf_ptr_cch); | |
44 | BOOST_TEST(buf_ptr_cch == buf_array_cch); | |
45 | BOOST_TEST(buf_ptr_cch == buf_ptr_ch); | |
46 | BOOST_TEST(buf_ptr_cch == buf_array_ch); | |
47 | BOOST_TEST(buf_ptr_cch == buf_str); | |
48 | ||
49 | #ifndef BOOST_TEST_MACRO_LIMITED_SUPPORT | |
50 | BOOST_TEST(buf_array_cch == buf_ptr_cch); | |
51 | BOOST_TEST(buf_array_cch == buf_array_cch); | |
52 | BOOST_TEST(buf_array_cch == buf_ptr_ch); | |
53 | BOOST_TEST(buf_array_cch == buf_array_ch); | |
54 | BOOST_TEST(buf_array_cch == buf_str); | |
55 | #endif | |
56 | ||
57 | BOOST_TEST(buf_ptr_ch == buf_ptr_cch); | |
58 | BOOST_TEST(buf_ptr_ch == buf_array_cch); | |
59 | BOOST_TEST(buf_ptr_ch == buf_ptr_ch); | |
60 | BOOST_TEST(buf_ptr_ch == buf_array_ch); | |
61 | BOOST_TEST(buf_ptr_ch == buf_str); | |
62 | ||
63 | #ifndef BOOST_TEST_MACRO_LIMITED_SUPPORT | |
64 | BOOST_TEST(buf_array_ch == buf_ptr_cch); | |
65 | BOOST_TEST(buf_array_ch == buf_array_cch); | |
66 | BOOST_TEST(buf_array_ch == buf_ptr_ch); | |
67 | BOOST_TEST(buf_array_ch == buf_array_ch); | |
68 | BOOST_TEST(buf_array_ch == buf_str); | |
69 | #endif | |
70 | ||
71 | BOOST_TEST(buf_str == buf_ptr_cch); | |
72 | BOOST_TEST(buf_str == buf_array_cch); | |
73 | BOOST_TEST(buf_str == buf_ptr_ch); | |
74 | BOOST_TEST(buf_str == buf_array_ch); | |
75 | BOOST_TEST(buf_str == buf_str); | |
76 | } | |
77 | ||
78 | // EOF |