1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
3 #include "base/string.hpp"
4 #include <BoostTestTargetConfig.h>
6 using namespace icinga;
8 BOOST_AUTO_TEST_SUITE(base_string)
10 BOOST_AUTO_TEST_CASE(construct)
12 BOOST_CHECK(String() == "");
13 BOOST_CHECK(String(5, 'n') == "nnnnn");
16 BOOST_AUTO_TEST_CASE(equal)
18 BOOST_CHECK(String("hello") == String("hello"));
19 BOOST_CHECK("hello" == String("hello"));
20 BOOST_CHECK(String("hello") == String("hello"));
22 BOOST_CHECK(String("hello") != String("helloworld"));
23 BOOST_CHECK("hello" != String("helloworld"));
24 BOOST_CHECK(String("hello") != "helloworld");
27 BOOST_AUTO_TEST_CASE(clear)
32 BOOST_CHECK(s.IsEmpty());
35 BOOST_AUTO_TEST_CASE(append)
42 BOOST_CHECK(s == "hello");
45 BOOST_AUTO_TEST_CASE(trim)
48 BOOST_CHECK(s1.Trim() == "hello");
51 BOOST_CHECK(s2.Trim() == "hello");
54 BOOST_CHECK(s3.Trim() == "hello");
56 String s4 = " hello ";
57 BOOST_CHECK(s4.Trim() == "hello");
60 BOOST_AUTO_TEST_CASE(contains)
62 String s1 = "hello world";
64 BOOST_CHECK(s1.Contains(s2));
66 String s3 = " hello world ";
68 BOOST_CHECK(s3.Contains(s4));
70 String s5 = " hello world ";
72 BOOST_CHECK(s5.Contains(s6));
75 BOOST_AUTO_TEST_CASE(replace)
80 BOOST_CHECK(s == "xllo");
83 BOOST_AUTO_TEST_CASE(index)
86 BOOST_CHECK(s[0] == 'h');
89 BOOST_CHECK(s == "xello");
94 BOOST_CHECK(s == "yyyyy");
97 BOOST_AUTO_TEST_CASE(find)
100 BOOST_CHECK(s.Find("ll") == 2);
101 BOOST_CHECK(s.FindFirstOf("xl") == 2);
104 BOOST_AUTO_TEST_SUITE_END()