annotate tests/Events.d @ 51:70df72d2299a default tip

Added unit tests for events.
author Jacob Carlborg <doob@me.com>
date Sat, 13 Aug 2011 17:06:35 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
1 /**
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
2 * Copyright: Copyright (c) 2011 Jacob Carlborg. All rights reserved.
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
3 * Authors: Jacob Carlborg
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
4 * Version: Initial created: Aug 7, 2011
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
6 */
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
7 module tests.Events;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
8
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
9 import orange.core._;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
10 import orange.serialization.Serializer;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
11 import orange.serialization.Events;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
12 import orange.serialization.archives.XMLArchive;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
13 import orange.test.UnitTester;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
14 import tests.Util;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
15
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
16 Serializer serializer;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
17 XMLArchive!(char) archive;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
18
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
19 int b;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
20 int c;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
21
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
22 class Events
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
23 {
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
24 int a;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
25 int d;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
26
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
27 void serializing ()
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
28 {
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
29 a = 3;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
30 }
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
31
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
32 mixin OnSerializing!(serializing);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
33
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
34 void serialized ()
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
35 {
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
36 b = 4;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
37 }
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
38
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
39 mixin OnSerialized!(serialized);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
40
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
41 void deserializing ()
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
42 {
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
43 c = 5;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
44 }
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
45
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
46 mixin OnDeserializing!(deserializing);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
47
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
48 void deserialized ()
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
49 {
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
50 d = 6;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
51 }
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
52
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
53 mixin OnDeserialized!(deserialized);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
54 }
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
55
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
56 Events events;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
57
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
58 unittest
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
59 {
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
60 archive = new XMLArchive!(char);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
61 serializer = new Serializer(archive);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
62
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
63 events = new Events;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
64
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
65 describe("serialize a class with event handlers") in {
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
66 it("should return serialized class with the correct values set by the event handlers") in {
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
67 serializer.reset;
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
68 serializer.serialize(events);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
69
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
70 assert(archive.data().containsDefaultXmlContent());
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
71 assert(archive.data().containsXmlTag("object", `runtimeType="tests.Events.Events" type="Events" key="0" id="0"`));
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
72 assert(archive.data().containsXmlTag("int", `key="a" id="1"`, "3"));
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
73 assert(archive.data().containsXmlTag("int", `key="d" id="2"`, "0"));
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
74
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
75 assert(b == 4);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
76 };
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
77 };
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
78
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
79 describe("deserialize class with a base class") in {
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
80 it("should return a deserialized string equal to the original string") in {
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
81 auto eventsDeserialized = serializer.deserialize!(Events)(archive.untypedData);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
82
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
83 assert(eventsDeserialized.a == 3);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
84 assert(eventsDeserialized.d == 6);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
85
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
86 assert(c == 5);
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
87 };
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
88 };
70df72d2299a Added unit tests for events.
Jacob Carlborg <doob@me.com>
parents:
diff changeset
89 }