comparison tests/Serializer.d @ 32:9df3b7a46a51 experimental

Updated the unit test with the latest changes.
author Jacob Carlborg <doob@me.com>
date Sun, 21 Nov 2010 18:51:05 +0100
parents bffcbc8c392b
children 4fea56a5849f
comparison
equal deleted inserted replaced
31:c68d29967c9f 32:9df3b7a46a51
267 267
268 describe("serialize struct") in { 268 describe("serialize struct") in {
269 it("should return a serialized struct") in { 269 it("should return a serialized struct") in {
270 serializer.reset; 270 serializer.reset;
271 serializer.serialize(B()); 271 serializer.serialize(B());
272 272
273 assert(archive.data().containsDefaultXmlContent()); 273 assert(archive.data().containsDefaultXmlContent());
274 assert(archive.data().contains(`<struct type="B" key="0"/>`)); 274 assert(archive.data().contains(`<struct type="B" key="0" id="0"/>`));
275 }; 275 };
276 }; 276 };
277 277
278 describe("deserialize struct") in { 278 describe("deserialize struct") in {
279 it("should return a deserialized struct equal to the original struct") in { 279 it("should return a deserialized struct equal to the original struct") in {
302 302
303 describe("serialize array") in { 303 describe("serialize array") in {
304 it("should return a serialized array") in { 304 it("should return a serialized array") in {
305 serializer.reset; 305 serializer.reset;
306 serializer.serialize(d); 306 serializer.serialize(d);
307 307
308 assert(archive.data().containsDefaultXmlContent()); 308 assert(archive.data().containsDefaultXmlContent());
309 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.D" type="D" key="0" id="0"`)); 309 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.D" type="D" key="0" id="0"`));
310 assert(archive.data().containsXmlTag("int", `key="0"`, "27")); 310 assert(archive.data().containsXmlTag("array", `type="int" length="6" key="arr" id="1"`));
311 assert(archive.data().containsXmlTag("int", `key="1"`, "382")); 311 assert(archive.data().containsXmlTag("int", `key="0" id="2"`, "27"));
312 assert(archive.data().containsXmlTag("int", `key="2"`, "283")); 312 assert(archive.data().containsXmlTag("int", `key="1" id="3"`, "382"));
313 assert(archive.data().containsXmlTag("int", `key="3"`, "3820")); 313 assert(archive.data().containsXmlTag("int", `key="2" id="4"`, "283"));
314 assert(archive.data().containsXmlTag("int", `key="4"`, "32")); 314 assert(archive.data().containsXmlTag("int", `key="3" id="5"`, "3820"));
315 assert(archive.data().containsXmlTag("int", `key="5"`, "832")); 315 assert(archive.data().containsXmlTag("int", `key="4" id="6"`, "32"));
316 assert(archive.data().containsXmlTag("int", `key="5" id="7"`, "832"));
316 }; 317 };
317 }; 318 };
318 319
319 describe("deserialize array") in { 320 describe("deserialize array") in {
320 it("should return a deserialize array equal to the original array") in { 321 it("should return a deserialize array equal to the original array") in {
329 serializer.serialize(e); 330 serializer.serialize(e);
330 331
331 assert(archive.data().containsDefaultXmlContent()); 332 assert(archive.data().containsDefaultXmlContent());
332 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.E" type="E" key="0" id="0"`)); 333 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.E" type="E" key="0" id="0"`));
333 assert(archive.data().containsXmlTag("associativeArray", `keyType="int" valueType="int" length="4" key="aa" id="1"`)); 334 assert(archive.data().containsXmlTag("associativeArray", `keyType="int" valueType="int" length="4" key="aa" id="1"`));
334 335
335 assert(archive.data().containsXmlTag("key", `key="0"`)); 336 assert(archive.data().containsXmlTag("key", `key="0"`));
336 assert(archive.data().containsXmlTag("int", `key="0"`, "1")); 337 assert(archive.data().containsXmlTag("int", `key="0" id="2"`, "1"));
337 assert(archive.data().containsXmlTag("value", `key="0"`)); 338 assert(archive.data().containsXmlTag("value", `key="0"`));
338 assert(archive.data().containsXmlTag("int", `key="0"`, "2")); 339 assert(archive.data().containsXmlTag("int", `key="0" id="3"`, "2"));
339 340
340 assert(archive.data().containsXmlTag("key", `key="1"`)); 341 assert(archive.data().containsXmlTag("key", `key="1"`));
341 assert(archive.data().containsXmlTag("int", `key="1"`, "3")); 342 assert(archive.data().containsXmlTag("int", `key="1" id="4"`, "3"));
342 assert(archive.data().containsXmlTag("value", `key="1"`)); 343 assert(archive.data().containsXmlTag("value", `key="1"`));
343 assert(archive.data().containsXmlTag("int", `key="1"`, "4")); 344 assert(archive.data().containsXmlTag("int", `key="1" id="5"`, "4"));
344 345
345 assert(archive.data().containsXmlTag("key", `key="2"`)); 346 assert(archive.data().containsXmlTag("key", `key="2"`));
346 assert(archive.data().containsXmlTag("int", `key="2"`, "6")); 347 assert(archive.data().containsXmlTag("int", `key="2" id="6"`, "6"));
347 assert(archive.data().containsXmlTag("value", `key="2"`)); 348 assert(archive.data().containsXmlTag("value", `key="2"`));
348 assert(archive.data().containsXmlTag("int", `key="2"`, "7")); 349 assert(archive.data().containsXmlTag("int", `key="2" id="7"`, "7"));
349 350
350 assert(archive.data().containsXmlTag("key", `key="3"`)); 351 assert(archive.data().containsXmlTag("key", `key="3"`));
351 assert(archive.data().containsXmlTag("int", `key="3"`, "39")); 352 assert(archive.data().containsXmlTag("int", `key="3" id="8"`, "39"));
352 assert(archive.data().containsXmlTag("value", `key="3"`)); 353 assert(archive.data().containsXmlTag("value", `key="3"`));
353 assert(archive.data().containsXmlTag("int", `key="3"`, "472")); 354 assert(archive.data().containsXmlTag("int", `key="3" id="9"`, "472"));
354 }; 355 };
355 }; 356 };
356 357
357 describe("deserialize associative array") in { 358 describe("deserialize associative array") in {
358 it("should return an associative array equal to the original associative array") in { 359 it("should return an associative array equal to the original associative array") in {
366 }; 367 };
367 368
368 describe("serialize pointer") in { 369 describe("serialize pointer") in {
369 it("should return a serialized pointer") in { 370 it("should return a serialized pointer") in {
370 serializer.reset(); 371 serializer.reset();
371
372 serializer.serialize(f); 372 serializer.serialize(f);
373
373 assert(archive.data().containsDefaultXmlContent()); 374 assert(archive.data().containsDefaultXmlContent());
374 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.F" type="F" key="0" id="0"`)); 375 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.F" type="F" key="0" id="0"`));
375 assert(archive.data().containsXmlTag("pointer", `key="ptr" id="2"`)); 376 assert(archive.data().containsXmlTag("pointer", `key="ptr" id="2"`));
376 assert(archive.data().containsXmlTag("int", `key="1"`, "9")); 377 assert(archive.data().containsXmlTag("reference", null, "1"));
377 assert(archive.data().containsXmlTag("int", `key="value"`, "9")); 378 assert(archive.data().containsXmlTag("int", `key="value" id="1"`, "9"));
378 }; 379 };
379 }; 380 };
380 381
381 describe("deserialize pointer") in { 382 describe("deserialize pointer") in {
382 it("should return a deserialized pointer equal to the original pointer") in { 383 it("should return a deserialized pointer equal to the original pointer") in {
383 auto fDeserialized = serializer.deserialize!(F)(archive.data); 384 auto fDeserialized = serializer.deserialize!(F)(archive.data);
385
384 assert(*f.ptr == *fDeserialized.ptr); 386 assert(*f.ptr == *fDeserialized.ptr);
385 }; 387 };
386 }; 388 };
387 389
388 describe("serialize enum") in { 390 describe("serialize enum") in {
389 it("should return a serialized enum") in { 391 it("should return a serialized enum") in {
390 serializer.reset(); 392 serializer.reset();
391 serializer.serialize(g); 393 serializer.serialize(g);
394
392 assert(archive.data().containsDefaultXmlContent()); 395 assert(archive.data().containsDefaultXmlContent());
393 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.G" type="G" key="0" id="0"`)); 396 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.G" type="G" key="0" id="0"`));
394 assert(archive.data().containsXmlTag("enum", `type="Foo" baseType="int" key="foo"`, "1")); 397 assert(archive.data().containsXmlTag("enum", `type="Foo" baseType="int" key="foo" id="1"`, "1"));
395 }; 398 };
396 }; 399 };
397 400
398 401
399 describe("deserialize enum") in { 402 describe("deserialize enum") in {
404 }; 407 };
405 408
406 describe("serialize primitives") in { 409 describe("serialize primitives") in {
407 it("should return serialized primitives") in { 410 it("should return serialized primitives") in {
408 serializer.reset; 411 serializer.reset;
409
410 serializer.serialize(h); 412 serializer.serialize(h);
413
411 assert(archive.data().containsDefaultXmlContent()); 414 assert(archive.data().containsDefaultXmlContent());
412 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.H" type="H" key="0" id="0"`)); 415 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.H" type="H" key="0" id="0"`));
413 assert(archive.data().containsXmlTag("byte", `key="byte_"`, "1")); 416 assert(archive.data().containsXmlTag("bool", `key="bool_" id="1"`, "true"));
414 assert(archive.data().containsXmlTag("char", `key="char_"`, "a")); 417 assert(archive.data().containsXmlTag("byte", `key="byte_" id="2"`, "1"));
415 assert(archive.data().containsXmlTag("dchar", `key="dchar_"`, "b")); 418 assert(archive.data().containsXmlTag("char", `key="char_" id="3"`, "a"));
416 assert(archive.data().containsXmlTag("double", `key="double_"`, "0")); 419 assert(archive.data().containsXmlTag("dchar", `key="dchar_" id="4"`, "b"));
417 assert(archive.data().containsXmlTag("float", `key="float_"`, "0")); 420 assert(archive.data().containsXmlTag("double", `key="double_" id="5"`, "0"));
418 assert(archive.data().containsXmlTag("int", `key="int_"`, "1")); 421 assert(archive.data().containsXmlTag("float", `key="float_" id="6"`, "0"));
419 assert(archive.data().containsXmlTag("long", `key="long_"`, "1")); 422 assert(archive.data().containsXmlTag("int", `key="int_" id="7"`, "1"));
420 assert(archive.data().containsXmlTag("real", `key="real_"`, "0")); 423 assert(archive.data().containsXmlTag("long", `key="long_" id="8"`, "1"));
421 assert(archive.data().containsXmlTag("short", `key="short_"`, "1")); 424 assert(archive.data().containsXmlTag("real", `key="real_" id="9"`, "0"));
422 assert(archive.data().containsXmlTag("ubyte", `key="ubyte_"`, "1")); 425 assert(archive.data().containsXmlTag("short", `key="short_" id="10"`, "1"));
423 assert(archive.data().containsXmlTag("uint", `key="uint_"`, "1")); 426 assert(archive.data().containsXmlTag("ubyte", `key="ubyte_" id="11"`, "1"));
424 assert(archive.data().containsXmlTag("ulong", `key="ulong_"`, "1")); 427 assert(archive.data().containsXmlTag("uint", `key="uint_" id="12"`, "1"));
425 assert(archive.data().containsXmlTag("ushort", `key="ushort_"`, "1")); 428 assert(archive.data().containsXmlTag("ulong", `key="ulong_" id="13"`, "1"));
426 assert(archive.data().containsXmlTag("wchar", `key="wchar_"`, "c")); 429 assert(archive.data().containsXmlTag("ushort", `key="ushort_" id="14"`, "1"));
427 assert(archive.data().containsXmlTag("bool", `key="bool_"`, "true")); 430 assert(archive.data().containsXmlTag("wchar", `key="wchar_" id="15"`, "c"));
428 }; 431 };
429 }; 432 };
430 433
431 describe("deserialize primitives") in { 434 describe("deserialize primitives") in {
432 it("should return deserialized primitives equal to the original primitives") in { 435 it("should return deserialized primitives equal to the original primitives") in {
439 it("should return a serialized typedef") in { 442 it("should return a serialized typedef") in {
440 serializer.reset(); 443 serializer.reset();
441 serializer.serialize(i); 444 serializer.serialize(i);
442 assert(archive.data().containsDefaultXmlContent()); 445 assert(archive.data().containsDefaultXmlContent());
443 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.I" type="I" key="0" id="0"`)); 446 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.I" type="I" key="0" id="0"`));
444 assert(archive.data().containsXmlTag("typedef", `type="Int" key="a"`)); 447 assert(archive.data().containsXmlTag("typedef", `type="Int" key="a" id="2"`));
445 assert(archive.data().containsXmlTag("int", `key="1"`, "1")); 448 assert(archive.data().containsXmlTag("int", `key="1" id="3"`, "1"));
446 }; 449 };
447 }; 450 };
448 451
449 describe("deserialize typedef") in { 452 describe("deserialize typedef") in {
450 it("should return a deserialized typedef equal to the original typedef") in { 453 it("should return a deserialized typedef equal to the original typedef") in {
503 serializer.serialize(k); 506 serializer.serialize(k);
504 507
505 assert(archive.data().containsDefaultXmlContent()); 508 assert(archive.data().containsDefaultXmlContent());
506 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.K" type="K" key="0" id="0"`)); 509 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Serializer.K" type="K" key="0" id="0"`));
507 assert(archive.data().containsXmlTag("associativeArray", `keyType="int" valueType="int" length="4" key="a" id="1"`)); 510 assert(archive.data().containsXmlTag("associativeArray", `keyType="int" valueType="int" length="4" key="a" id="1"`));
508 511
509 assert(archive.data().containsXmlTag("key", `key="0"`)); 512 assert(archive.data().containsXmlTag("key", `key="0"`));
510 assert(archive.data().containsXmlTag("int", `key="0"`, "1")); 513 assert(archive.data().containsXmlTag("int", `key="0" id="2"`, "1"));
511 assert(archive.data().containsXmlTag("value", `key="0"`)); 514 assert(archive.data().containsXmlTag("value", `key="0"`));
512 assert(archive.data().containsXmlTag("int", `key="0"`, "2")); 515 assert(archive.data().containsXmlTag("int", `key="0" id="3"`, "2"));
513 516
514 assert(archive.data().containsXmlTag("key", `key="1"`)); 517 assert(archive.data().containsXmlTag("key", `key="1"`));
515 assert(archive.data().containsXmlTag("int", `key="1"`, "3")); 518 assert(archive.data().containsXmlTag("int", `key="1" id="4"`, "3"));
516 assert(archive.data().containsXmlTag("value", `key="1"`)); 519 assert(archive.data().containsXmlTag("value", `key="1"`));
517 assert(archive.data().containsXmlTag("int", `key="1"`, "4")); 520 assert(archive.data().containsXmlTag("int", `key="1" id="5"`, "4"));
518 521
519 assert(archive.data().containsXmlTag("key", `key="2"`)); 522 assert(archive.data().containsXmlTag("key", `key="2"`));
520 assert(archive.data().containsXmlTag("int", `key="2"`, "6")); 523 assert(archive.data().containsXmlTag("int", `key="2" id="6"`, "6"));
521 assert(archive.data().containsXmlTag("value", `key="2"`)); 524 assert(archive.data().containsXmlTag("value", `key="2"`));
522 assert(archive.data().containsXmlTag("int", `key="2"`, "7")); 525 assert(archive.data().containsXmlTag("int", `key="2" id="7"`, "7"));
523 526
524 assert(archive.data().containsXmlTag("key", `key="3"`)); 527 assert(archive.data().containsXmlTag("key", `key="3"`));
525 assert(archive.data().containsXmlTag("int", `key="3"`, "39")); 528 assert(archive.data().containsXmlTag("int", `key="3" id="8"`, "39"));
526 assert(archive.data().containsXmlTag("value", `key="3"`)); 529 assert(archive.data().containsXmlTag("value", `key="3"`));
527 assert(archive.data().containsXmlTag("int", `key="3"`, "472")); 530 assert(archive.data().containsXmlTag("int", `key="3" id="9"`, "472"));
528 531
529 assert(archive.data().containsXmlTag("reference", `key="b"`, "1")); 532 assert(archive.data().containsXmlTag("reference", `key="b"`, "1"));
530 }; 533 };
531 }; 534 };
532 535