Mercurial > projects > orange
view tests/Enum.d @ 46:d6fbd0b3586e
Issue 8: Wrong results for array of arrays. (Temporary fix).
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Tue, 09 Aug 2011 11:38:50 +0200 |
parents | 02dbd18b7fe9 |
children |
line wrap: on
line source
/** * Copyright: Copyright (c) 2011 Jacob Carlborg. All rights reserved. * Authors: Jacob Carlborg * Version: Initial created: Aug 6, 2011 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module tests.Enum; import orange.core.string; import orange.serialization.Serializer; import orange.serialization.archives.XMLArchive; import orange.test.UnitTester; import tests.Util; Serializer serializer; XMLArchive!(char) archive; enum Foo { a, b, c } class G { Foo foo; } G g; unittest { archive = new XMLArchive!(char); serializer = new Serializer(archive); g = new G; g.foo = Foo.b; describe("serialize enum") in { it("should return a serialized enum") in { serializer.reset(); serializer.serialize(g); assert(archive.data().containsDefaultXmlContent()); assert(archive.data().containsXmlTag("object", `runtimeType="tests.Enum.G" type="G" key="0" id="0"`)); assert(archive.data().containsXmlTag("enum", `type="Foo" baseType="int" key="foo" id="1"`, "1")); }; }; describe("deserialize enum") in { it("should return an enum equal to the original enum") in { auto gDeserialized = serializer.deserialize!(G)(archive.untypedData); assert(g.foo == gDeserialized.foo); }; }; }