Mercurial > projects > orange
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 |