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 }