3 #define _CRTDBG_MAP_ALLOC 22 XmlRpcValue booleanFalseXml(
"<value><boolean>0</boolean></value>", &offset);
24 XmlRpcValue booleanTrueXml(
"<value><boolean>1</boolean></value>", &offset);
25 assert(booleanFalse != booleanTrue);
26 assert(booleanFalse == booleanFalseXml);
27 assert(booleanFalse == booleanFalseXml);
45 XmlRpcValue int0Xml(
"<value><int>0</int></value>", &offset);
47 XmlRpcValue int9Xml(
"<value><i4>9</i4></value>", &offset);
48 assert(int0 == int0Xml);
49 assert(
int(int10) -
int(int1) ==
int(int9Xml));
50 assert(9 ==
int(int9Xml));
51 assert(
int(int10) +
int(int_1) ==
int(int9Xml));
59 XmlRpcValue dXml(
"<value><double>56.3</double></value>", &offset);
60 assert(
double(d) +
double(dXml) == 100.0);
67 char csxml[] =
"<value><string>Now is the time <&</string></value>";
68 std::string ssxml = csxml;
80 std::string emptyStringXml(
"<value></value>");
82 XmlRpcValue emptyStringVal1(emptyStringXml, &offset);
84 assert(emptyStringVal1 == emptyStringVal2);
86 emptyStringXml =
"<value> </value>";
88 XmlRpcValue blankStringVal(emptyStringXml, &offset);
89 assert(std::string(blankStringVal) ==
" ");
97 XmlRpcValue dateTime(
"<value><dateTime.iso8601>19040101T03:12:35</dateTime.iso8601></value>", &offset);
98 struct tm &t = dateTime;
99 assert(t.tm_year == 1904 && t.tm_min == 12);
109 a[1] = std::string(
"two");
112 assert(
int(a[0]) == 1);
118 " <value><i4>1</i4></value> \n" 119 " <value> <string>two</string></value>\n" 120 " <value><double>43.7</double></value>\n" 121 " <value>four</value>\n" 135 struct1[
"str"] =
"two";
141 a[1] = std::string(
"two");
145 assert(struct1[
"d"] == a[2]);
150 " <name>i4</name> \n" 151 " <value><i4>1</i4></value> \n" 155 " <value><double>43.7</double></value>\n" 158 " <name>str</name> \n" 159 " <value> <string>two</string></value>\n" 165 assert(struct1 == structXml);
168 astruct[
"array"] = a;
169 assert(astruct[
"array"][2] == struct1[
"d"]);
171 for (
int i=0; i<10; i++) {
173 Event[
"Name"] =
"string";
177 const int NELMTS = 100;
180 for (ii=0; ii< NELMTS; ++ii) {
182 sprintf(buf,
"%d", ii);
188 for (ii=0; ii< NELMTS; ++ii) {
190 sprintf(buf,
"%d", ii);
194 for (
int jj=0; jj< NELMTS; ++jj) {
196 sprintf(bufj,
"%d", jj);
197 Event[buf][bufj] = bufj;
201 for (ii=0; ii< NELMTS; ++ii) {
203 sprintf(buf,
"%d", ii);
207 assert(Event[buf].size() == NELMTS);
214 int main(
int argc,
char* argv[])
216 _CrtDumpMemoryLeaks();
220 _CrtDumpMemoryLeaks();
224 _CrtDumpMemoryLeaks();
229 _CrtDumpMemoryLeaks();
234 _CrtDumpMemoryLeaks();
239 _CrtDumpMemoryLeaks();
244 _CrtDumpMemoryLeaks();
249 _CrtDumpMemoryLeaks();
int main(int argc, char *argv[])
RPC method arguments and results are represented by Values.
void clear()
Erase the current value.
void setSize(int size)
Specify the size for array values. Array values will grow beyond this size if needed.
void testArray(XmlRpcValue const &d)
std::string toXml() const
Encode the Value in xml.
XmlRpcValue fromXml(std::string const &data)