1 /*******************************************************
2 * Unit test for the String class
4 * test relational operators
5 ******************************************************
14 // Default contructor: empty string
21 std::cout << s1 << " == " << s2 << " = " << (s1 == s2) << "\n";
22 assert((s1 == s2) == true);
23 std::cout << s1 << " == " << s3 << " = " << (s1 == s3) << "\n";
24 assert((s1 == s3) == false);
26 std::cout << s1 << " != " << s2 << " = " << (s1 != s2) << "\n";
27 assert((s1 != s2) == false);
28 std::cout << s1 << " != " << s3 << " = " << (s1 != s3) << "\n";
29 assert((s1 != s3) == true);
31 std::cout << s1 << " < " << s2 << " = " << (s1 < s2) << "\n";
32 assert((s1 < s2) == false);
33 std::cout << s1 << " < " << s3 << " = " << (s1 < s3) << "\n";
34 assert((s1 < s3) == true);
35 std::cout << s3 << " < " << s1 << " = " << (s3 < s1) << "\n";
36 assert((s3 < s1) == false);
38 std::cout << s1 << " > " << s2 << " = " << (s1 > s2) << "\n";
39 assert((s1 > s2) == false);
40 std::cout << s1 << " > " << s3 << " = " << (s1 > s3) << "\n";
41 assert((s1 > s3) == false);
42 std::cout << s3 << " > " << s1 << " = " << (s3 > s1) << "\n";
43 assert((s3 > s1) == true);
45 std::cout << s1 << " <= " << s2 << " = " << (s1 <= s2) << "\n";
46 assert((s1 <= s2) == true);
47 std::cout << s1 << " <= " << s3 << " = " << (s1 <= s3) << "\n";
48 assert((s1 <= s3) == true);
49 std::cout << s3 << " <= " << s1 << " = " << (s3 <= s1) << "\n";
50 assert((s3 <= s1) == false);
52 std::cout << s1 << " >= " << s2 << " = " << (s1 >= s2) << "\n";
53 assert((s1 >= s2) == true);
54 std::cout << s1 << " >= " << s3 << " = " << (s1 >= s3) << "\n";
55 assert((s1 >= s3) == false);
56 std::cout << s3 << " >= " << s1 << " = " << (s3 >= s1) << "\n";
57 assert((s3 >= s1) == true);
59 // Compare literal strings
61 std::cout << s1 << " == " << "abcdef" << " = " << (s1 == "abcdef") << "\n";
62 assert((s1 == "abcdef") == true);
63 std::cout << s1 << " == " << "vwuxyz" << " = " << (s1 == "vwuxyz") << "\n";
64 assert((s1 == "vwuxyz") == false);
66 std::cout << s1 << " != " << "abcdef" << " = " << (s1 != "abcdef") << "\n";
67 assert((s1 != "abcdef") == false);
68 std::cout << s1 << " != " << "vwuxyz" << " = " << (s1 != "vwuxyz") << "\n";
69 assert((s1 != "vwuxyz") == true);
71 // Compare character array variables
73 const char *c2 = "abcdef";
74 const char *c3 = "vwuxyz";
76 std::cout << s1 << " == " << c2 << " = " << (s1 == c2) << "\n";
77 assert((s1 == c2) == true);
78 std::cout << s1 << " == " << c3 << " = " << (s1 == c3) << "\n";
79 assert((s1 == c3) == false);
81 std::cout << s1 << " != " << c2 << " = " << (s1 != c2) << "\n";
82 assert((s1 != c2) == false);
83 std::cout << s1 << " != " << c3 << " = " << (s1 != c3) << "\n";
84 assert((s1 != c3) == true);
86 // Compare an empty string
90 std::cout << s1 << " == " << empty << " = " << (s1 == empty) << "\n";
91 assert((s1 == empty) == false);
92 std::cout << s1 << " != " << empty << " = " << (s1 != empty) << "\n";
93 assert((s1 != empty) == true);
94 std::cout << s1 << " < " << empty << " = " << (s1 < empty) << "\n";
95 assert((s1 < empty) == false);
96 std::cout << s1 << " > " << empty << " = " << (s1 > empty) << "\n";
97 assert((s1 > empty) == true);