[gxml] Moved tests for post-deserialization for ArrayList to its units tests
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gxml] Moved tests for post-deserialization for ArrayList to its units tests
- Date: Fri, 26 Feb 2016 22:08:09 +0000 (UTC)
commit 32197989ddf1f974a60ee42020f25dd19faace35
Author: Daniel Espinosa <esodan gmail com>
Date: Fri Feb 26 14:59:15 2016 -0600
Moved tests for post-deserialization for ArrayList to its units tests
test/SerializableGeeArrayListTest.vala | 118 +++++++++++++++++++++++-
test/SerializableGeeCollectionsTest.vala | 147 ++++++++----------------------
2 files changed, 152 insertions(+), 113 deletions(-)
---
diff --git a/test/SerializableGeeArrayListTest.vala b/test/SerializableGeeArrayListTest.vala
index ba38712..f38f3f9 100644
--- a/test/SerializableGeeArrayListTest.vala
+++ b/test/SerializableGeeArrayListTest.vala
@@ -45,9 +45,49 @@ class CElement : SerializableObjectModel {
class SerializableGeeArrayListTest : GXmlTest
{
+
+ class BallFill : SerializableObjectModel
+ {
+ public string name { get; set; default = "Fill"; }
+ public void set_text (string txt) { serialized_xml_node_value = txt; }
+ public override string to_string () { return name; }
+ public override string node_name () { return "BallFill"; }
+ public override bool serialize_use_xml_node_value () { return true; }
+ }
+
+ class Ball : SerializableObjectModel
+ {
+ public string name { get; set; default = "Ball"; }
+ public BallFill ballfill { get; set; }
+ public override string to_string () { return name; }
+ public override string node_name () { return "Ball"; }
+ public class Array : SerializableArrayList<Ball> {
+ public override bool deserialize_proceed () { return false; }
+ }
+ }
+
+ class SmallBag : SerializableObjectModel
+ {
+ public string name { get; set; default = "SmallBag"; }
+ public Ball.Array balls { get; set; default = new Ball.Array (); }
+ public override string to_string () { return name; }
+ public override string node_name () { return "SmallBag"; }
+ public class Array : SerializableArrayList<SmallBag> {
+ public override bool deserialize_proceed () { return false; }
+ }
+ }
+
+ class BigBag : SerializableObjectModel
+ {
+ public string name { get; set; default = "ball"; }
+ public SmallBag.Array bags { get; set; default = new SmallBag.Array (); }
+ public override string to_string () { return name; }
+ public override string node_name () { return "BigBag"; }
+ }
+
public static void add_tests ()
{
- Test.add_func ("/gxml/serializable/serializable_array_list/api",
+ Test.add_func ("/gxml/serializable/arraylist/api",
() => {
try {
var c = new SerializableArrayList<AElement> ();
@@ -74,7 +114,7 @@ class SerializableGeeArrayListTest : GXmlTest
stdout.printf (@"ERROR: $(e.message)");
}
});
- Test.add_func ("/gxml/serializable/serializable_array_list/serialize",
+ Test.add_func ("/gxml/serializable/arraylist/serialize",
() => {
try {
var c = new SerializableArrayList<AElement> ();
@@ -112,7 +152,7 @@ class SerializableGeeArrayListTest : GXmlTest
assert_not_reached ();
}
});
- Test.add_func ("/gxml/serializable/serializable_array_list/deserialize",
+ Test.add_func ("/gxml/serializable/arraylist/deserialize",
() => {
try {
var doc = new GDocument.from_string ("""<?xml version="1.0"?>
@@ -143,7 +183,7 @@ class SerializableGeeArrayListTest : GXmlTest
assert_not_reached ();
}
});
- Test.add_func ("/gxml/serializable/serializable_array_list/deserialize-serialize",
+ Test.add_func ("/gxml/serializable/arraylist/deserialize-serialize",
() => {
try {
var idoc = new GDocument.from_string ("""<?xml version="1.0"?>
@@ -184,7 +224,7 @@ class SerializableGeeArrayListTest : GXmlTest
assert_not_reached ();
}
});
- Test.add_func ("/gxml/serializable/serializable_array_list/deserialize-node-names",
+ Test.add_func ("/gxml/serializable/arraylist/deserialize-node-names",
() => {
try {
var d = new GDocument.from_path (GXmlTestConfig.TEST_DIR + "/test-collection.xml");
@@ -213,5 +253,73 @@ class SerializableGeeArrayListTest : GXmlTest
assert_not_reached ();
}
});
+ Test.add_func ("/gxml/serializable/arraylist/post-deserialization/serialize/contents",
+ () => {
+ try {
+ // Construct Bag contents
+ var bag = new BigBag ();
+ assert (bag.bags != null);
+ for (int i = 0; i < 2; i++) {
+ var sbag = new SmallBag ();
+ assert (sbag.balls != null);
+ for (int j = 0; j < 2; j++) {
+ var b = new Ball ();
+ b.ballfill = new BallFill ();
+ b.ballfill.set_text ("golden dust");
+ sbag.balls.add (b);
+ }
+ assert (sbag.balls.size == 2);
+ bag.bags.add (sbag);
+ }
+ assert (bag.bags.size == 2);
+ // Construct XML
+ var d = new GDocument ();
+ bag.serialize (d);
+ assert (d.root != null);
+ assert (d.root.name == "BigBag");
+ assert (d.root.children.size == 2);
+ assert (d.root.children[0].name == "SmallBag");
+ assert (d.root.children[0].children.size == 2);
+ assert (d.root.children[0].children[0].name == "Ball");
+ assert (d.root.children[0].children[0].children.size == 1);
+ assert (d.root.children[0].children[0].children[0].name == "BallFill");
+ assert (d.root.children[0].children[0].children[0].children.size == 1);
+ assert (d.root.children[0].children[0].children[0].children[0] is Text);
+ assert (d.root.children[0].children[0].children[0].children[0].value == "golden dust");
+ GLib.message (d.to_string ());
+ // Deserialize
+ var bagt = new BigBag ();
+ bagt.deserialize (d);
+ assert (bagt.bags.deserialize_children ());
+ assert (bagt.bags.size == 2);
+ assert (bagt.bags[0].balls.deserialize_children ());
+ assert (bagt.bags[0].balls.size == 2);
+ assert (bagt.bags[0].balls[0].name == "Ball");
+ assert (bagt.bags[0].balls[0].ballfill !=null);
+ assert (bagt.bags[0].balls[0].ballfill.serialized_xml_node_value !=null);
+ assert (bagt.bags[0].balls[0].ballfill.serialized_xml_node_value =="golden dust");
+ var bag2 = new BigBag ();
+ bag2.deserialize (d);
+ assert (bag2.bags.size == 0);
+ // Serialize
+ var d2 = new GDocument ();
+ bag2.serialize (d2);
+ GLib.message ("SECOND:"+d2.to_string ());
+ assert (d2.root != null);
+ assert (d2.root.name == "BigBag");
+ assert (d2.root.children.size == 2);
+ assert (d2.root.children[0].name == "SmallBag");
+ assert (d2.root.children[0].children.size == 2);
+ assert (d2.root.children[0].children[0].name == "Ball");
+ assert (d2.root.children[0].children[0].children.size == 1);
+ assert (d2.root.children[0].children[0].children[0].name == "BallFill");
+ assert (d2.root.children[0].children[0].children[0].children.size == 1);
+ assert (d2.root.children[0].children[0].children[0].children[0] is GXml.Text);
+ assert (d2.root.children[0].children[0].children[0].children[0].value == "golden dust");
+ } catch (GLib.Error e) {
+ GLib.message ("ERROR: "+e.message);
+ assert_not_reached ();
+ }
+ });
}
}
diff --git a/test/SerializableGeeCollectionsTest.vala b/test/SerializableGeeCollectionsTest.vala
index a690055..a91c582 100644
--- a/test/SerializableGeeCollectionsTest.vala
+++ b/test/SerializableGeeCollectionsTest.vala
@@ -27,46 +27,6 @@ using GXml;
using Gee;
- class BallFill : SerializableObjectModel
- {
- public string name { get; set; default = "Fill"; }
- public void set_text (string txt) { serialized_xml_node_value = txt; }
- public override string to_string () { return name; }
- public override string node_name () { return "BallFill"; }
- public override bool serialize_use_xml_node_value () { return true; }
- }
-
- class Ball : SerializableObjectModel
- {
- public string name { get; set; default = "Ball"; }
- public BallFill ballfill { get; set; }
- public override string to_string () { return name; }
- public override string node_name () { return "Ball"; }
- public class Array : SerializableArrayList<Ball> {
- public override bool deserialize_proceed () { return false; }
- }
- }
-
- class SmallBag : SerializableObjectModel
- {
- public string name { get; set; default = "SmallBag"; }
- public Ball.Array balls { get; set; default = new Ball.Array (); }
- public override string to_string () { return name; }
- public override string node_name () { return "SmallBag"; }
- public class Array : SerializableArrayList<SmallBag> {
- public override bool deserialize_proceed () { return false; }
- }
- }
-
- class BigBag : SerializableObjectModel
- {
- public string name { get; set; default = "ball"; }
- public SmallBag.Array bags { get; set; default = new SmallBag.Array (); }
- public override string to_string () { return name; }
- public override string node_name () { return "BigBag"; }
- }
-
-
class SerializableGeeCollectionsTest : GXmlTest
{
class Citizen : SerializableObjectModel
@@ -220,6 +180,45 @@ class SerializableGeeCollectionsTest : GXmlTest
public override string to_string () { return name; }
}
+ class BallFill : SerializableObjectModel
+ {
+ public string name { get; set; default = "Fill"; }
+ public void set_text (string txt) { serialized_xml_node_value = txt; }
+ public override string to_string () { return name; }
+ public override string node_name () { return "BallFill"; }
+ public override bool serialize_use_xml_node_value () { return true; }
+ }
+
+ class Ball : SerializableObjectModel
+ {
+ public string name { get; set; default = "Ball"; }
+ public BallFill ballfill { get; set; }
+ public override string to_string () { return name; }
+ public override string node_name () { return "Ball"; }
+ public class Array : SerializableArrayList<Ball> {
+ public override bool deserialize_proceed () { return false; }
+ }
+ }
+
+ class SmallBag : SerializableObjectModel
+ {
+ public string name { get; set; default = "SmallBag"; }
+ public Ball.Array balls { get; set; default = new Ball.Array (); }
+ public override string to_string () { return name; }
+ public override string node_name () { return "SmallBag"; }
+ public class Array : SerializableArrayList<SmallBag> {
+ public override bool deserialize_proceed () { return false; }
+ }
+ }
+
+ class BigBag : SerializableObjectModel
+ {
+ public string name { get; set; default = "ball"; }
+ public SmallBag.Array bags { get; set; default = new SmallBag.Array (); }
+ public override string to_string () { return name; }
+ public override string node_name () { return "BigBag"; }
+ }
+
public static void add_tests ()
{
Test.add_func ("/gxml/serializable/convined_gee_containers/deserialize",
@@ -668,73 +667,5 @@ class SerializableGeeCollectionsTest : GXmlTest
assert_not_reached ();
}
});
- Test.add_func ("/gxml/serializable/containers/post-deserialization/serialize/contents",
- () => {
- try {
- // Construct Bag contents
- var bag = new BigBag ();
- assert (bag.bags != null);
- for (int i = 0; i < 2; i++) {
- var sbag = new SmallBag ();
- assert (sbag.balls != null);
- for (int j = 0; j < 2; j++) {
- var b = new Ball ();
- b.ballfill = new BallFill ();
- b.ballfill.set_text ("golden dust");
- sbag.balls.add (b);
- }
- assert (sbag.balls.size == 2);
- bag.bags.add (sbag);
- }
- assert (bag.bags.size == 2);
- // Construct XML
- var d = new GDocument ();
- bag.serialize (d);
- assert (d.root != null);
- assert (d.root.name == "BigBag");
- assert (d.root.children.size == 2);
- assert (d.root.children[0].name == "SmallBag");
- assert (d.root.children[0].children.size == 2);
- assert (d.root.children[0].children[0].name == "Ball");
- assert (d.root.children[0].children[0].children.size == 1);
- assert (d.root.children[0].children[0].children[0].name == "BallFill");
- assert (d.root.children[0].children[0].children[0].children.size == 1);
- assert (d.root.children[0].children[0].children[0].children[0] is Text);
- assert (d.root.children[0].children[0].children[0].children[0].value == "golden dust");
- GLib.message (d.to_string ());
- // Deserialize
- var bagt = new BigBag ();
- bagt.deserialize (d);
- assert (bagt.bags.deserialize_children ());
- assert (bagt.bags.size == 2);
- assert (bagt.bags[0].balls.deserialize_children ());
- assert (bagt.bags[0].balls.size == 2);
- assert (bagt.bags[0].balls[0].name == "Ball");
- assert (bagt.bags[0].balls[0].ballfill !=null);
- assert (bagt.bags[0].balls[0].ballfill.serialized_xml_node_value !=null);
- assert (bagt.bags[0].balls[0].ballfill.serialized_xml_node_value =="golden dust");
- var bag2 = new BigBag ();
- bag2.deserialize (d);
- assert (bag2.bags.size == 0);
- // Serialize
- var d2 = new GDocument ();
- bag2.serialize (d2);
- GLib.message ("SECOND:"+d2.to_string ());
- assert (d2.root != null);
- assert (d2.root.name == "BigBag");
- assert (d2.root.children.size == 2);
- assert (d2.root.children[0].name == "SmallBag");
- assert (d2.root.children[0].children.size == 2);
- assert (d2.root.children[0].children[0].name == "Ball");
- assert (d2.root.children[0].children[0].children.size == 1);
- assert (d2.root.children[0].children[0].children[0].name == "BallFill");
- assert (d2.root.children[0].children[0].children[0].children.size == 1);
- assert (d2.root.children[0].children[0].children[0].children[0] is GXml.Text);
- assert (d2.root.children[0].children[0].children[0].children[0].value == "golden dust");
- } catch (GLib.Error e) {
- GLib.message ("ERROR: "+e.message);
- assert_not_reached ();
- }
- });
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]