00001 #include "wvtest.h"
00002 #include "wvstring.h"
00003
00004
00005 WVTEST_MAIN()
00006 {
00007 WvString a, b, c(""), d(""), e("hello"), f("Hello"), g(0), h(1), i(1.0),
00008 j(NULL);
00009
00010
00011 WVFAIL(a);
00012 WVPASS(a == NULL);
00013 WVFAIL(a == "");
00014 WVPASS(a.isnull());
00015 WVPASS(!a);
00016 WVFAIL(!!a);
00017 WVFAIL(a != NULL);
00018 WVPASS(a == b);
00019 WVFAIL(a != b);
00020 WVPASS(a.len() == 0);
00021
00022
00023 WVPASS(c);
00024 WVPASS(c == "");
00025 WVFAIL(c == NULL);
00026 WVFAIL(c.isnull());
00027 WVPASS(!c);
00028 WVFAIL(!!c);
00029 WVPASS(c == d);
00030 WVFAIL(c != d);
00031 WVFAIL(c == a);
00032 WVPASS(c != a);
00033
00034
00035 WVPASS(e);
00036 WVPASS(e == "hello");
00037 WVFAIL(e == "Hello");
00038 WVFAIL(e == f);
00039 WVFAIL(e+0 == f+0);
00040 WVPASS(e+0 == e+0);
00041 WVPASS(WvString(e+1) == "ello");
00042 WVPASS(WvString(e+1) == f+1);
00043
00044
00045 WVPASS(g == "0");
00046 WVPASS(h == "1");
00047 WVPASS(i == "1");
00048 WVFAIL(h != i);
00049 WVPASS(i.num() == 1);
00050 WVPASS(WvString(-1).num() == -1);
00051
00052
00053 WVPASS(j == "0");
00054 }
00055
00056
00057 WVTEST_MAIN()
00058 {
00059 WvString a1, b1, c1(""), d1(""), e1("hello"), f1("Hello"), g1(0),
00060 h1(1), i1(1.0);
00061 WvString a2(a1), b2(b1), c2(c1), d2(d1), e2(e1), f2(f1), g2(g1),
00062 h2(h1), i2(i1);
00063
00064
00065
00066
00067 WVPASS(e1+0 == e2+0);
00068 WVPASS(e1.edit()+0 != e2+0);
00069 const char *olde1 = e1;
00070 { WvString x(e1); }
00071 WVPASS(e1.edit() == olde1);
00072
00073
00074 WVPASS(a1 == a2);
00075 WVPASS(b1 == b2);
00076 WVPASS(c1 == c2);
00077 WVPASS(d1 == d2);
00078 WVPASS(e1 == e2);
00079 WVPASS(f1 == f2);
00080 WVPASS(g1 == g2);
00081 WVPASS(h1 == h2);
00082 WVPASS(i1 == i2);
00083 WVFAIL(a2 == c2);
00084
00085
00086 a2 = c2;
00087 WVPASS(a2 == d1);
00088 d2 = b2;
00089 WVPASS(d2 == a1);
00090 }
00091
00092
00093 WVTEST_MAIN()
00094 {
00095 WvString a, b, c(""), d("hello");
00096
00097
00098 a.append(b);
00099 b.append(c);
00100 c.append(d);
00101 d.append(a);
00102 WVPASS(a == NULL);
00103 WVPASS(b == "");
00104 WVPASS(c == "hello");
00105 WVPASS(d == "hello");
00106 }
00107
00108
00109 WVTEST_MAIN()
00110 {
00111 WvString a, b, c(""), d("hello");
00112
00113
00114 WvString x("%s%s", a, b);
00115 WVPASS(WvString("%s%s", c, d) == "hello");
00116 WVPASS(WvString("%s%s", d, d) == "hellohello");
00117
00118
00119 d = WvString("%s%s%s%s", d, d, d, d);
00120 WVPASS(d == "hellohellohellohello");
00121 d = WvString(d);
00122 WVPASS(d == "hellohellohellohello");
00123 WVPASS(d.len() == 20);
00124 }
00125
00126
00127 WVTEST_MAIN()
00128 {
00129
00130 WVPASS(WvString("%s") == "%s");
00131 WVPASS(WvString("%%s") == "%%s");
00132 WVPASS(WvString("%s", "x") == "x");
00133 WVPASS(WvString("%%s", "x") == "%s");
00134 WVPASS(WvString("%-5s", "a") == "a ");
00135 WVPASS(WvString("%5s", "a") == " a");
00136 WVPASS(WvString("%3s", "hello") == "hello");
00137 WVPASS(WvString("%-3s", "hello") == "hello");
00138 WVPASS(WvString("%.3s", "hello") == "hel");
00139 WVPASS(WvString("%-6.3s", "hello") == "hel ");
00140 WVPASS(WvString("%6.3s", "hello") == " hel");
00141 WVPASS(WvString("%6.3s", "a") == " a");
00142 }