Mercurial > projects > orange
view tests/Array.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.Array; import orange.core._; import orange.serialization.Serializer; import orange.serialization.archives.XMLArchive; import orange.test.UnitTester; import tests.Util; Serializer serializer; XMLArchive!(char) archive; class D { int[] arr; } D d; unittest { archive = new XMLArchive!(char); serializer = new Serializer(archive); d = new D; d.arr = [27, 382, 283, 3820, 32, 832].dup; describe("serialize array") in { it("should return a serialized array") in { serializer.reset; serializer.serialize(d); assert(archive.data().containsDefaultXmlContent()); assert(archive.data().containsXmlTag("object", `runtimeType="tests.Array.D" type="D" key="0" id="0"`)); assert(archive.data().containsXmlTag("array", `type="int" length="6" key="arr" id="1"`)); assert(archive.data().containsXmlTag("int", `key="0" id="2"`, "27")); assert(archive.data().containsXmlTag("int", `key="1" id="3"`, "382")); assert(archive.data().containsXmlTag("int", `key="2" id="4"`, "283")); assert(archive.data().containsXmlTag("int", `key="3" id="5"`, "3820")); assert(archive.data().containsXmlTag("int", `key="4" id="6"`, "32")); assert(archive.data().containsXmlTag("int", `key="5" id="7"`, "832")); }; }; describe("deserialize array") in { it("should return a deserialize array equal to the original array") in { auto dDeserialized = serializer.deserialize!(D)(archive.untypedData); assert(d.arr == dDeserialized.arr); }; }; }