[gxml] TwDocument/SerializableObjectModel Unit Tests fixes
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gxml] TwDocument/SerializableObjectModel Unit Tests fixes
- Date: Sat, 9 May 2015 02:17:05 +0000 (UTC)
commit 197990bd65a91ed13cd8ee9ba1de26ee5388c207
Author: Daniel Espinosa <esodan gmail com>
Date: Fri May 8 19:28:24 2015 -0500
TwDocument/SerializableObjectModel Unit Tests fixes
test/SerializableObjectModel-Tw-Test.vala | 1197 ++++++++++++-----------------
test/SerializableObjectModelTest.vala | 4 +-
2 files changed, 473 insertions(+), 728 deletions(-)
---
diff --git a/test/SerializableObjectModel-Tw-Test.vala b/test/SerializableObjectModel-Tw-Test.vala
index 3ae3258..6ae1459 100644
--- a/test/SerializableObjectModel-Tw-Test.vala
+++ b/test/SerializableObjectModel-Tw-Test.vala
@@ -30,738 +30,292 @@ class SerializableObjectModelTwTest : GXmlTest
public static void add_tests ()
{
Test.add_func ("/gxml/tw/serializable/object_model/serialize/simple_object",
- () => {
- try {
- var computer = new Computer ();
- var doc = new TwDocument ();
- computer.serialize (doc);
- assert (doc.root.name.down () == "computer") ;
- var m = doc.root.attrs.get ("manufacturer");
- assert (m != null);
- var mod = doc.root.attrs.get ("model");
- assert (mod != null);
- var c = doc.root.attrs.get ("cores");
- assert (c != null);
- var g = doc.root.attrs.get ("ghz");
- assert (g != null);
- }
- catch (GLib.Error e)
- {
- GLib.message (e.message);
- assert_not_reached ();
- }
- }
- );
- Test.add_func ("/gxml/tw/serializable/object_model/deserialize_simple_object",
- () => {
- var computer = new Computer ();
- try {
- var doc = new xDocument.from_string (XML_COMPUTER_FILE);
- computer.deserialize (doc);
- if (computer.manufacturer != "ThecnicalGroup") {
- stdout.printf (@"ERROR XML_COMPUTER: manufacturer val: $(computer.manufacturer)\n");
- assert_not_reached ();
- }
- if (computer.model !="YH576G") {
- stdout.printf (@"ERROR XML_COMPUTER: model val: $(computer.model)\n");
- assert_not_reached ();
- }
- if (computer.cores != 4) {
- stdout.printf (@"ERROR XML_COMPUTER: cores val: $(computer.cores)\n");
- assert_not_reached ();
- }
- if (computer.ghz != (float) 2.8) {
- stdout.printf (@"ERROR XML_COMPUTER: ghz val: $(computer.ghz)\n");
- assert_not_reached ();
- }
- } catch (GLib.Error e)
- {
- GLib.message (@"GHz : $(computer.to_string ()) ERROR: $(e.message)");
- assert_not_reached ();
- }
- }
- );
- Test.add_func ("/gxml/tw/serializable/object_model/deserialize_object_contents",
- () => {
- var manual = new Manual ();
- try {
- var doc = new xDocument.from_string ("""<?xml version="1.0"?>
- <manual document="Specification" pages="3">This is an Specification file</manual>""");
- manual.deserialize (doc);
- if (manual.document != "Specification") {
- stdout.printf (@"ERROR MANUAL: Bad document value. Expected 'Specification', got:
$(manual.document)\n");
- assert_not_reached ();
- }
- if (manual.pages != 3) {
- stdout.printf (@"ERROR MANUAL: Bad pages value. Expected '3', got:
$(manual.pages)\n");
- assert_not_reached ();
- }
- if (manual.get_contents () != "This is an Specification file") {
- stdout.printf (@"ERROR MANUAL: Bad xElement content value. Expected 'This is an
Specification file', got: $(manual.get_contents ())\n");
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- GLib.message (@"Error: $(e.message)");
- assert_not_reached ();
- }
- }
- );
+ () => {
+ try {
+ var computer = new Computer ();
+ var doc = new TwDocument ();
+ computer.serialize (doc);
+ assert (doc.root.name.down () == "computer") ;
+ var m = doc.root.attrs.get ("manufacturer");
+ assert (m != null);
+ var mod = doc.root.attrs.get ("model");
+ assert (mod != null);
+ var c = doc.root.attrs.get ("cores");
+ assert (c != null);
+ var g = doc.root.attrs.get ("ghz");
+ assert (g != null);
+ }
+ catch (GLib.Error e)
+ {
+ GLib.message (e.message);
+ assert_not_reached ();
+ }
+ }
+ );
Test.add_func ("/gxml/tw/serializable/object_model/serialize_object_contents",
- () => {
- var doc = new xDocument ();
- var manual = new Manual ();
- try {
- manual.serialize (doc);
- if (doc.document_element.node_name != "manual") {
- stdout.printf (@"ERROR MANUAL: xElement: $(doc.document_element.node_name)\n");
- assert_not_reached ();
- }
- xElement element = doc.document_element;
- serialize_manual_check (element, manual);
- } catch (GLib.Error e) {
- stdout.printf (@"$(e.message)");
- assert_not_reached ();
- }
- }
- );
- Test.add_func ("/gxml/tw/serializable/object_model/deserialize_serializable_properties",
- () => {
- var package = new Package ();
- try {
- var doc = new xDocument.from_string (XML_PACKAGE_FILE);
- package.deserialize (doc);
- if (package.source != "Mexico/Central") {
- stdout.printf (@"ERROR PACKAGE: source: $(package.source)\n");
- assert_not_reached ();
- }
- if (package.destiny != "Japan") {
- stdout.printf (@"ERROR PACKAGE: destiny: $(package.destiny)\n");
- assert_not_reached ();
- }
- /*if (package.unknown_to_string () != "Unknown Properties: {\n}") {
- stdout.printf (@"ERROR PACKAGE: package unknown properties:
$(package.unknown_to_string ())\n");
- assert_not_reached ();
- }*/
- if (package.manual.document != "Specification") {
- stdout.printf (@"ERROR PACKAGE: manual document: $(package.manual.document)\n");
- assert_not_reached ();
- }
- if (package.manual.pages != 3) {
- stdout.printf (@"ERROR PACKAGE: manual pages: $(package.manual.pages)\n");
- assert_not_reached ();
- }
- if (package.manual.get_contents () != "This is an Specification file") {
- stdout.printf (@"ERROR PACKAGE: manual value: $(package.manual.get_contents ())\n");
- assert_not_reached ();
- }
- if (package.computer.manufacturer != "LanCorop") {
- stdout.printf (@"ERROR PACKAGE: computer manufacturer:
$(package.computer.manufacturer)\n");
- assert_not_reached ();
- }
- if (package.computer.model != "Lap39120") {
- stdout.printf (@"ERROR PACKAGE: computer model: $(package.computer.model)\n");
- assert_not_reached ();
- }
- if (package.computer.cores != 16) {
- stdout.printf (@"ERROR PACKAGE: computer cores: $(package.computer.cores)\n");
- assert_not_reached ();
- }
- if (package.computer.ghz != (float) 3.5) {
- stdout.printf (@"ERROR PACKAGE: computer ghz $(package.computer.ghz)\n");
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- GLib.message (@"Error: $(e.message)");
- assert_not_reached ();
- }
- }
- );
+ () => {
+ var doc = new TwDocument ();
+ var manual = new Manual ();
+ try {
+ manual.serialize (doc);
+ if (doc.root.name != "manual") {
+ stdout.printf (@"ERROR MANUAL: xElement: $(doc.root.name)\n");
+ assert_not_reached ();
+ }
+ Element element = (Element) doc.root;
+ serialize_manual_check (element, manual);
+ } catch (GLib.Error e) {
+ stdout.printf (@"$(e.message)");
+ assert_not_reached ();
+ }
+ });
+
Test.add_func ("/gxml/tw/serializable/object_model/serialize_serializable_properties",
- () => {
- var doc = new xDocument ();
- var package = new Package ();
- try {
- package.serialize (doc);
- if (doc.document_element.node_name != "package") {
- stdout.printf (@"ERROR MANUAL: xElement: $(doc.document_element.node_name)\n");
- assert_not_reached ();
- }
- xElement element = doc.document_element;
- var source = element.get_attribute_node ("source");
- if (source == null ) assert_not_reached ();
- if (source.node_value != "Mexico") {
- stdout.printf (@"ERROR PACKAGE: source: $(source.node_value)\n");
- assert_not_reached ();
- }
- var destiny = element.get_attribute_node ("destiny");
- if (destiny == null ) assert_not_reached ();
- if (destiny.node_value != "World") {
- stdout.printf (@"ERROR PACKAGE: source: $(destiny.node_value)\n");
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- GLib.message (@"Error: $(e.message)");
- assert_not_reached ();
- }
- }
- );
- Test.add_func ("/gxml/tw/serializable/object_model/deserialize_array_property",
- () => {
- var doc = new xDocument.from_string (XML_PACKAGE_FILE);
- var package = new Package ();
- try {
- package.deserialize (doc);
- if (package.tags.length != 3) {
- stdout.printf (@"ERROR PACKAGE: tags length: $(package.tags.length)");
- assert_not_reached ();
- }
- if (package.tags.index (0) != "Printer") {
- stdout.printf (@"ERROR PACKAGE: tags index 0: $(package.tags.index (0))");
- assert_not_reached ();
- }
- if (package.tags.index (1) != "Partner") {
- stdout.printf (@"ERROR PACKAGE: tags index 1: $(package.tags.index (1))");
- assert_not_reached ();
- }
- if (package.tags.index (2) != "Support") {
- stdout.printf (@"ERROR PACKAGE: tags index 0: $(package.tags.index (2))");
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- GLib.message (@"Error: $(e.message)");
- assert_not_reached ();
- }
- }
- );
+ () => {
+ var doc = new TwDocument ();
+ var package = new Package ();
+ try {
+ package.serialize (doc);
+ if (doc.root.name != "package") {
+ stdout.printf (@"ERROR MANUAL: xElement: $(doc.root.name)\n");
+ assert_not_reached ();
+ }
+ Element element = (Element) doc.root;
+ var source = element.attrs.get ("source");
+ if (source == null ) assert_not_reached ();
+ if (source.value != "Mexico") {
+ stdout.printf (@"ERROR PACKAGE: source: $(source.value)\n");
+ assert_not_reached ();
+ }
+ var destiny = element.attrs.get ("destiny");
+ if (destiny == null ) assert_not_reached ();
+ if (destiny.value != "World") {
+ stdout.printf (@"ERROR PACKAGE: source: $(destiny.value)\n");
+ assert_not_reached ();
+ }
+ }
+ catch (GLib.Error e) {
+ GLib.message (@"Error: $(e.message)");
+ assert_not_reached ();
+ }
+ });
Test.add_func ("/gxml/tw/serializable/object_model/serialize_array_property",
- () => {
- var doc = new xDocument ();
- var package = new Package ();
- package.tags.append_val ("Computer");
- package.tags.append_val ("Customer");
- package.tags.append_val ("Sale");
- try {
- package.serialize (doc);
- //stdout.printf (@"$(doc)");
- if (doc.document_element.node_name != "package")
- assert_not_reached ();
- xElement element = doc.document_element;
- bool com = false;
- bool cus = false;
- bool sal = false;
- foreach (GXml.xNode n in element.child_nodes) {
- //stdout.printf (@"Found xElement: $(n.node_name)");
- if (n.node_name == "tag") {
- //stdout.printf (@"Found: $(n.node_name)");
- if (((xElement) n).content == "Computer")
- com = true;
- if (((xElement) n).content == "Customer")
- cus = true;
- if (((xElement) n).content == "Sale")
- sal = true;
- }
- }
- if (!com) {
- stdout.printf (@"ERROR PACKAGE tag Computer not found!");
- assert_not_reached ();
- }
- if (!cus) {
- stdout.printf (@"ERROR PACKAGE tag Customer not found!");
- assert_not_reached ();
- }
- if (!sal) {
- stdout.printf (@"ERROR PACKAGE tag Sale not found!");
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- GLib.message (@"Error: $(e.message)");
- assert_not_reached ();
- }
- }
- );
+ () => {
+ var doc = new TwDocument ();
+ var package = new Package ();
+ package.tags.append_val ("Computer");
+ package.tags.append_val ("Customer");
+ package.tags.append_val ("Sale");
+ try {
+ package.serialize (doc);
+ //stdout.printf (@"$(doc)");
+ if (doc.root.name != "package")
+ assert_not_reached ();
+ Element element = (Element) doc.root;
+ bool com = false;
+ bool cus = false;
+ bool sal = false;
+ foreach (GXml.Node n in element.childs) {
+ //stdout.printf (@"Found xElement: $(n.node_name)");
+ if (n.name == "tag") {
+ //stdout.printf (@"Found: $(n.node_name)");
+ if (((Element) n).content == "Computer")
+ com = true;
+ if (((Element) n).content == "Customer")
+ cus = true;
+ if (((Element) n).content == "Sale")
+ sal = true;
+ }
+ }
+ if (!com) {
+ stdout.printf (@"ERROR PACKAGE tag Computer not found!");
+ assert_not_reached ();
+ }
+ if (!cus) {
+ stdout.printf (@"ERROR PACKAGE tag Customer not found!");
+ assert_not_reached ();
+ }
+ if (!sal) {
+ stdout.printf (@"ERROR PACKAGE tag Sale not found!");
+ assert_not_reached ();
+ }
+ }
+ catch (GLib.Error e) {
+ GLib.message (@"Error: $(e.message)");
+ assert_not_reached ();
+ }
+ });/*
Test.add_func ("/gxml/tw/serializable/object_model/serialize_property_nick",
- () => {
- var doc = new xDocument ();
- var monitor = new Monitor ();
- try {
- monitor.resolution = "1204x720";
- monitor.ac_power = 120;
- monitor.dc_power = 125;
- monitor.serialize (doc);
- //stdout.printf (@"DOC: [$(doc)]");
- if (doc.document_element == null) {
- stdout.printf ("ERROR MONITOR: No root xElement");
- assert_not_reached ();
- }
- xElement element = doc.document_element;
- if (element.node_name != "monitor") {
- stdout.printf (@"ERROR MONITOR: root xElement $(element.node_name)");
- assert_not_reached ();
- }
- var ac = element.get_attribute_node ("AcPower");
- if (ac == null) {
- stdout.printf (@"ERROR MONITOR: attribute AcPower not found");
- assert_not_reached ();
- }
- if (ac.node_value != "120") {
- stdout.printf (@"ERROR MONITOR: AcPower value $(ac.node_value)");
- assert_not_reached ();
- }
- var dc = element.get_attribute_node ("DcPower");
- if (dc == null) {
- stdout.printf (@"ERROR MONITOR: attribute DcPower not found");
- assert_not_reached ();
- }
- if (dc.node_value != "125") {
- stdout.printf (@"ERROR MONITOR: AcPower value $(dc.node_value)");
- assert_not_reached ();
- }
- var r = element.get_attribute_node ("resolution");
- if (r == null) {
- stdout.printf (@"ERROR MONITOR: attribute resolution not found");
- assert_not_reached ();
- }
- if (r.node_value != "1204x720") {
- stdout.printf (@"ERROR MONITOR: resolution value $(r.node_value)");
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- stdout.printf (@"Error: $(e.message)");
- assert_not_reached ();
- }
- }
- );
+ () => {
+ var doc = new xDocument ();
+ var monitor = new Monitor ();
+ try {
+ monitor.resolution = "1204x720";
+ monitor.ac_power = 120;
+ monitor.dc_power = 125;
+ monitor.serialize (doc);
+ //stdout.printf (@"DOC: [$(doc)]");
+ if (doc.document_element == null) {
+ stdout.printf ("ERROR MONITOR: No root xElement");
+ assert_not_reached ();
+ }
+ xElement element = doc.document_element;
+ if (element.node_name != "monitor") {
+ stdout.printf (@"ERROR MONITOR: root xElement $(element.node_name)");
+ assert_not_reached ();
+ }
+ var ac = element.get_attribute_node ("AcPower");
+ if (ac == null) {
+ stdout.printf (@"ERROR MONITOR: attribute AcPower not found");
+ assert_not_reached ();
+ }
+ if (ac.node_value != "120") {
+ stdout.printf (@"ERROR MONITOR: AcPower value $(ac.node_value)");
+ assert_not_reached ();
+ }
+ var dc = element.get_attribute_node ("DcPower");
+ if (dc == null) {
+ stdout.printf (@"ERROR MONITOR: attribute DcPower not found");
+ assert_not_reached ();
+ }
+ if (dc.node_value != "125") {
+ stdout.printf (@"ERROR MONITOR: AcPower value $(dc.node_value)");
+ assert_not_reached ();
+ }
+ var r = element.get_attribute_node ("resolution");
+ if (r == null) {
+ stdout.printf (@"ERROR MONITOR: attribute resolution not found");
+ assert_not_reached ();
+ }
+ if (r.node_value != "1204x720") {
+ stdout.printf (@"ERROR MONITOR: resolution value $(r.node_value)");
+ assert_not_reached ();
+ }
+ }
+ catch (GLib.Error e) {
+ stdout.printf (@"Error: $(e.message)");
+ assert_not_reached ();
+ }
+ });
Test.add_func ("/gxml/tw/serializable/object_model/override_transform_to_string",
- () => {
- var cpu = new Cpu ();
- cpu.ghz = (float) 3.85;
- cpu.piles.add (1);
- cpu.piles.add (2);
- cpu.piles.add (3);
- var doc = new xDocument ();
- try {
- cpu.serialize (doc);
- //stdout.printf (@"$doc");
- if (doc.document_element == null) {
- stdout.printf (@"ERROR CPU: no root element");
- assert_not_reached ();
- }
- if (doc.document_element.node_name != "cpu") {
- stdout.printf (@"ERROR CPU: root element $(doc.document_element.node_name)");
- assert_not_reached ();
- }
- var ghz = doc.document_element.get_attribute_node ("ghz");
- if (ghz == null) {
- stdout.printf (@"ERROR CPU: no attribute ghz");
- assert_not_reached ();
- }
- if (ghz.node_value != "3.85") {
- stdout.printf (@"ERROR CPU: ghz '$(ghz.node_value)'");
- assert_not_reached ();
- }
- var p = doc.document_element.get_attribute_node ("piles");
- if (p == null) {
- stdout.printf (@"ERROR CPU: no attribute piles");
- assert_not_reached ();
- }
- if (p.node_value != "1,2,3") {
- stdout.printf (@"ERROR CPU: piles '$(p.node_value)'");
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- stdout.printf (@"Error: $(e.message)");
- assert_not_reached ();
- }
- });
+ () => {
+ var cpu = new Cpu ();
+ cpu.ghz = (float) 3.85;
+ cpu.piles.add (1);
+ cpu.piles.add (2);
+ cpu.piles.add (3);
+ var doc = new xDocument ();
+ try {
+ cpu.serialize (doc);
+ //stdout.printf (@"$doc");
+ if (doc.document_element == null) {
+ stdout.printf (@"ERROR CPU: no root element");
+ assert_not_reached ();
+ }
+ if (doc.document_element.node_name != "cpu") {
+ stdout.printf (@"ERROR CPU: root element $(doc.document_element.node_name)");
+ assert_not_reached ();
+ }
+ var ghz = doc.document_element.get_attribute_node ("ghz");
+ if (ghz == null) {
+ stdout.printf (@"ERROR CPU: no attribute ghz");
+ assert_not_reached ();
+ }
+ if (ghz.node_value != "3.85") {
+ stdout.printf (@"ERROR CPU: ghz '$(ghz.node_value)'");
+ assert_not_reached ();
+ }
+ var p = doc.document_element.get_attribute_node ("piles");
+ if (p == null) {
+ stdout.printf (@"ERROR CPU: no attribute piles");
+ assert_not_reached ();
+ }
+ if (p.node_value != "1,2,3") {
+ stdout.printf (@"ERROR CPU: piles '$(p.node_value)'");
+ assert_not_reached ();
+ }
+ }
+ catch (GLib.Error e) {
+ stdout.printf (@"Error: $(e.message)");
+ assert_not_reached ();
+ }
+ });
Test.add_func ("/gxml/tw/serializable/object_model/override_transform_from_string",
- () => {
- var cpu = new Cpu ();
- var doc = new xDocument.from_string (XML_CPU_FILE);
- try {
- cpu.deserialize (doc);
- //stdout.printf (@"$doc");
- if (cpu.ghz != (float) 3.85) {
- stdout.printf (@"ERROR CPU: ghz '$(cpu.ghz)'");
- assert_not_reached ();
- }
- if (cpu.piles.size != 3) {
- stdout.printf (@"ERROR CPU: piles size '$(cpu.piles.size)'");
- assert_not_reached ();
- }
- if (!cpu.piles.contains (1)) {
- stdout.printf (@"ERROR CPU: piles contains 1 '$(cpu.piles_to_string ())'");
- assert_not_reached ();
- }
- if (!cpu.piles.contains (2)) {
- stdout.printf (@"ERROR CPU: piles contains 2 '$(cpu.piles_to_string ())'");
- assert_not_reached ();
- }
- if (!cpu.piles.contains (3)) {
- stdout.printf (@"ERROR CPU: piles contains 3 '$(cpu.piles_to_string ())'");
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- stdout.printf (@"Error: $(e.message)");
- assert_not_reached ();
- }
- });
+ () => {
+ var cpu = new Cpu ();
+ var doc = new xDocument.from_string (XML_CPU_FILE);
+ try {
+ cpu.deserialize (doc);
+ //stdout.printf (@"$doc");
+ if (cpu.ghz != (float) 3.85) {
+ stdout.printf (@"ERROR CPU: ghz '$(cpu.ghz)'");
+ assert_not_reached ();
+ }
+ if (cpu.piles.size != 3) {
+ stdout.printf (@"ERROR CPU: piles size '$(cpu.piles.size)'");
+ assert_not_reached ();
+ }
+ if (!cpu.piles.contains (1)) {
+ stdout.printf (@"ERROR CPU: piles contains 1 '$(cpu.piles_to_string ())'");
+ assert_not_reached ();
+ }
+ if (!cpu.piles.contains (2)) {
+ stdout.printf (@"ERROR CPU: piles contains 2 '$(cpu.piles_to_string ())'");
+ assert_not_reached ();
+ }
+ if (!cpu.piles.contains (3)) {
+ stdout.printf (@"ERROR CPU: piles contains 3 '$(cpu.piles_to_string ())'");
+ assert_not_reached ();
+ }
+ }
+ catch (GLib.Error e) {
+ stdout.printf (@"Error: $(e.message)");
+ assert_not_reached ();
+ }
+ });
Test.add_func ("/gxml/tw/serializable/object_model/override_serialize",
- () => {
- var doc = new xDocument ();
- var configuration = new Configuration ();
- configuration.device = "Controller";
- try {
- configuration.serialize (doc);
- //stdout.printf (@"DOC: $doc");
- if (doc.document_element == null) {
-#if DEBUG
- GLib.message ("DOC: No root element");
-#endif
- assert_not_reached ();
- }
- GXml.Element element = (GXml.Element) doc.root;
- if (element.name != "Configuration") {
-#if DEBUG
- GLib.message (@"CONFIGURATION: Bad node name: $(element.name)");
-#endif
- assert_not_reached ();
- }
- bool found = false;
- foreach (GXml.Namespace n in element.namespaces)
- {
- if (n.prefix == "om" && n.uri == "http://www.gnome.org/gxml/0.4")
- found = true;
- }
- if (!found) {
-#if DEBUG
- stdout.printf (@"CONFIGURATION: No namespace found: size:
$(element.namespaces.size)");
- foreach (GXml.Namespace n in element.namespaces) {
- stdout.printf (@"CONFIGURATION: Defined Namespace: $(n.prefix):$(n.uri)");
- }
-#endif
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- stdout.printf (@"Error: $(e.message)");
- assert_not_reached ();
- }
- });
- Test.add_func ("/gxml/tw/serializable/object_model/override_deserialize",
- () => {
- var doc = new xDocument.from_string ("""<?xml version="1.0"?>
- <Configuration xmlns:om="http://www.gnome.org/gxml/0.4" device="Sampler"/>""");
- var configuration = new Configuration ();
- try {
-#if DEBUG
- GLib.message ("Deserializing doc...");
-#endif
- configuration.deserialize (doc);
-#if DEBUG
- GLib.message ("Verifing Configuration...");
-#endif
- if (configuration.invalid == true) {
-#if DEBUG
- stdout.printf ("CONFIGURATION: deserialize is INVALID\n");
- foreach (GXml.Namespace n in doc.document_element.namespace_definitions) {
- stdout.printf (@"CONFIGURATION: namespace: $(n.uri)\n");
- }
-#endif
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- stdout.printf (@"Error: $(e.message)");
- assert_not_reached ();
- }
- });
- Test.add_func ("/gxml/tw/serializable/object_model/custome_node_name",
- () => {
- var doc = new xDocument.from_string ("""<?xml version="1.0"?><NodeName />""");
- var nodename = new NodeName ();
- try {
- nodename.deserialize (doc);
- }
- catch (GLib.Error e) {
- stdout.printf (@"Error: $(e.message)");
- assert_not_reached ();
- }
- });
- Test.add_func ("/gxml/tw/serializable/object_model/no_serialize_null_property",
- () => {
- var doc = new xDocument();
- var unknown_property = new UnknownAttribute (); // name is set to null
- try {
- unknown_property.serialize (doc);
- //stdout.printf (@"DOCUMENT: $doc"); assert_not_reached ();
- var name = doc.document_element.get_attribute_node ("name");
- if (name != null) {
- stdout.printf (@"ERROR: NULL ATTRIBUTE SERIALIZATION: name found
$(name.node_name)");
- assert_not_reached ();
- }
- var array = doc.document_element.get_attribute_node ("array");
- if (array != null) {
- stdout.printf (@"ERROR: NULL ATTRIBUTE SERIALIZATION: array found
$(array.node_name)");
- assert_not_reached ();
- }
- if (doc.document_element.has_child_nodes ()) {
- stdout.printf (@"ERROR: NULL ATTRIBUTE SERIALIZATION: Nodes found
$(doc.document_element.has_child_nodes ())");
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- stdout.printf (@"Error: $(e.message)");
- assert_not_reached ();
- }
- });
- Test.add_func ("/gxml/tw/serializable/object_model/unknown_property",
- () => {
- var doc = new xDocument.from_string ("""<?xml version="1.0"?>
- <UnknownAttribute ignore="true" ignore2="test">
- <UnknownNode toignore = "true" />TEXT
- </UnknownAttribute>""");
- var unknown_property = new UnknownAttribute ();
- try {
- unknown_property.deserialize (doc);
-#if DEBUG
- foreach (GXml.Attribute a in unknown_property.unknown_serializable_properties.values)
{
- GLib.message (@"Unknown Attribute: $(a.name) = $(a.value)");
- }
- foreach (GXml.Node un in unknown_property.unknown_serializable_nodes) {
- GLib.message (@"Unknown Node: $(un.name) = $(un.to_string ())");
- }
-#endif
- assert (unknown_property.unknown_serializable_properties.size == 2);
- if (unknown_property.unknown_serializable_properties.size != 2) {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: size
$(unknown_property.unknown_serializable_properties.size.to_string ())\n");
- foreach (GXml.Node un in unknown_property.unknown_serializable_properties.values) {
- string sv = "__NULL__";
- if (un.value != null)
- sv = un.value;
- stdout.printf (@"Saved unknown property: $(un.name) / '$(sv)'\n");
- }
- assert_not_reached ();
- }
- var ignore = unknown_property.unknown_serializable_properties.get ("ignore");
- assert (ignore != null);
- var ignore2 = unknown_property.unknown_serializable_properties.get ("ignore2");
- assert (ignore2 != null);
+ () => {
+ var doc = new xDocument ();
+ var configuration = new Configuration ();
+ configuration.device = "Controller";
+ try {
+ configuration.serialize (doc);
+ //stdout.printf (@"DOC: $doc");
+ if (doc.document_element == null) {
#if DEBUG
- GLib.message (@"Unknown nodes = $(unknown_property.unknown_serializable_nodes.size)");
+ GLib.message ("DOC: No root element");
#endif
- assert (unknown_property.unknown_serializable_nodes.size == 2);
- bool foundn = false;
- bool foundt = false;
- GXml.Node unkn;
- foreach (GXml.Node n in unknown_property.unknown_serializable_nodes) {
- if (n.name == "UnknownNode") {
- foundn = true;
- assert (n.attrs.get ("toignore") != null);
- assert (n.attrs.get ("toignore").value == "true");
- }
- if (n is Text) {
- foundt = true;
- assert (n.value == "TEXT");
- }
- }
- assert (foundn);
- assert (foundt);
- }
- catch (GLib.Error e) {
- stdout.printf (@"Error: $(e.message)");
- assert_not_reached ();
- }
- });
- Test.add_func ("/gxml/tw/serializable/object_model/deserialize_unknown_property",
- () => {
- var doc = new xDocument.from_string ("""<?xml version="1.0"?>
- <UnknownAttribute ignore="true" ignore2="test">
- <UnknownNode direction = "fordward">
- <UnknownChild t = "test">
- <UnknownChildTwo t = "test">SECOND FAKE TEXT</UnknownChildTwo>
- </UnknownChild>
- </UnknownNode>FAKE TEXT</UnknownAttribute>""");
- var unknown_property = new UnknownAttribute ();
- try {
- unknown_property.deserialize (doc);
- var doc2 = (GXml.Document) new xDocument ();
+ assert_not_reached ();
+ }
+ GXml.Element element = (GXml.Element) doc.root;
+ if (element.name != "Configuration") {
#if DEBUG
- GLib.message ("Prepare to Serialize...");
+ GLib.message (@"CONFIGURATION: Bad node name: $(element.name)");
#endif
- unknown_property.serialize (doc2);
- GLib.message ("After Serialize...");
+ assert_not_reached ();
+ }
+ bool found = false;
+ foreach (GXml.Namespace n in element.namespaces)
+ {
+ if (n.prefix == "om" && n.uri == "http://www.gnome.org/gxml/0.4")
+ found = true;
+ }
+ if (!found) {
#if DEBUG
- GLib.message ("Serialized back document: \n"+doc2.to_string ());
+ stdout.printf (@"CONFIGURATION: No namespace found: size: $(element.namespaces.size)");
+ foreach (GXml.Namespace n in element.namespaces) {
+ stdout.printf (@"CONFIGURATION: Defined Namespace: $(n.prefix):$(n.uri)");
+ }
#endif
- if (doc2.root == null) {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: SERIALIZATION: No Root xElement");
- assert_not_reached ();
- }
- GXml.Element element = (GXml.Element) doc2.root;
- if (element.name.down () != "unknownattribute") {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: SERIALIZATION: Root xElement Bad name
$(element.name.down ())");
- assert_not_reached ();
- }
- var ignore = element.attrs.get ("ignore");
- if (ignore == null) {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: SERIALIZATION: No attribute ignore");
- assert_not_reached ();
- }
- if (ignore.value != "true") {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: SERIALIZATION: Attribute ignore bad
value $(ignore.value)");
- assert_not_reached ();
- }
- var ignore2 = element.attrs.get ("ignore2");
- if (ignore2 == null) {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: SERIALIZATION: No attribute ignore");
- assert_not_reached ();
- }
- if (ignore2.value != "test") {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: SERIALIZATION: Attribute ignore2 bad
value $(ignore2.value)");
- assert_not_reached ();
- }
- if (element.childs.size == 0) {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: SERIALIZATION: No child nodes");
- assert_not_reached ();
- }
- assert (element.childs.size == 2);
- var unkn = element.childs.get (0);
- assert (unkn != null);
- assert (unkn.name == "UnknownNode");
- int countechilds = 0;
- GXml.Node child = unkn;
- foreach (GXml.Node n in unkn.childs) {
- if (n is GXml.Element) countechilds++;
- if (n.name == "UnknownChild") child = n;
- }
- assert (countechilds == 1);
- var cunkn = child;
- assert (cunkn != null);
- assert (cunkn.name == "UnknownChild");
- assert (cunkn.attrs.size == 1);
- var ca = cunkn.attrs.get ("t");
- assert (ca != null);
- assert (ca.value == "test");
- countechilds = 0;
- foreach (GXml.Node cn in cunkn.childs) {
- if (cn is GXml.Element) countechilds++;
- if (cn.name == "UnknownChildTwo") child = cn;
- }
- assert (countechilds == 1);
- var scunkn = child;
- assert (scunkn != null);
- assert (scunkn.name == "UnknownChildTwo");
- var sca = scunkn.attrs.get ("t");
- assert (sca != null);
- assert (sca.value == "test");
- bool found = false;
-#if DEBUG
- GLib.message (@"Second unknown child. Childs nodes = $(scunkn.childs.size)");
-#endif
- foreach (GXml.Node tn in scunkn.childs) {
- assert (tn is GXml.Text);
-#if DEBUG
- GLib.message (@"Second unknown Text child = $(tn.value)");
-#endif
- if (tn.value == "SECOND FAKE TEXT") found = true;
- }
- assert (found);
- var tscunkn = cunkn.childs.get (0);
- assert (tscunkn is GXml.Text);
- assert (element.content == "FAKE TEXT");
- found = false;
- foreach (GXml.Node n in element.childs) {
- if (n.name == "UnknownNode") {
- found = true;
- var direction = ((Element) n).attrs.get ("direction");
- if (direction == null) {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: SERIALIZATION: UnknownNode No
attribute direction");
- assert_not_reached ();
- }
- if (direction.value != "fordward") {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: SERIALIZATION: UnknownNode attribute
direction bad value $(direction.value)");
- assert_not_reached ();
- }
- }
- }
- if (!found) {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: SERIALIZATION: UnknownNode No not
found");
- assert_not_reached ();
- }
- // TODO: serialized_xml_node_value have more text than expected, may be a bug in
xDocument.to_string ()
- if (unknown_property.serialized_xml_node_value == "FAKE TEXT") {
- stdout.printf (@"ERROR: UNKNOWN_ATTRIBUTE: SERIALIZATION: Bad UnknownAttribute
node's content text $(unknown_property.serialized_xml_node_value)");
- assert_not_reached ();
- }
- }
- catch (GLib.Error e) {
- stdout.printf (@"Error: $(e.message)");
- assert_not_reached ();
- }
- });
- Test.add_func ("/gxml/tw/serializable/object_model/serialize_unknown_property",
- () => {
- try {
- var doc = new xDocument.from_string ("""<?xml version="1.0"?>
- <UnknownAttribute ignore="true" ignore2="test">
- <UnknownNode toignore = "true" />TEXT
- </UnknownAttribute>""");
- var unknown_property = new UnknownAttribute ();
- unknown_property.deserialize (doc);
- var ndoc = new xDocument ();
- unknown_property.serialize (ndoc);
- if (ndoc.document_element.child_nodes.size != 2) {
- stdout.printf (@"ERROR: Root incorrect child node number: found
'$(doc.document_element.childs.size)\n");
- foreach (GXml.xNode rn in ndoc.document_element.child_nodes) {
- string nv = "__NULL__";
- if (rn.node_value != null)
- nv = rn.node_value;
- stdout.printf (@"Node: $(rn.node_name) / Value: '$(nv)'\n");
- }
- stdout.printf (@"$(ndoc)\n");
- assert_not_reached ();
- }
- foreach (GXml.xNode n in ndoc.document_element.child_nodes) {
- if (n is Text) {
- if (n.node_value != "TEXT") {
- stdout.printf (@"ERROR: Unknown Text xElement not set: found
'$(n.node_value)\n");
- assert_not_reached ();
- }
- }
- }
- } catch (GLib.Error e) {
- stdout.printf (@"ERROR: $(e.message)\n");
- assert_not_reached ();
- }
- });
- Test.add_func ("/gxml/tw/serializable/object_model/deserialize_incorrect_uint",
- () => {
- try {
- var doc = new xDocument.from_string (
- """<?xml version="1.0"?>
- <PACKAGE source="Mexico/North" destiny="Brazil" Hope="2/4.04">
- <manual document="Sales Card" pages="1">Selling Card Specification</manual>
- <Computer manufacturer="BoxingLAN" model="J24-EX9" cores="32.5" ghz="1.8"
quantity="0.2" />
- <Box size="1" volume="33.15" units="cm3" />
- </PACKAGE>""");
- Test.message (@"XML:\n$(doc)");
- var pkg = new Package ();
- pkg.deserialize (doc);
- }
- catch (GLib.Error e) {
- Test.message ("Error thrown for invalid string to guint");
- assert_not_reached ();
- }
- });
-
+ assert_not_reached ();
+ }
+ }
+ catch (GLib.Error e) {
+ stdout.printf (@"Error: $(e.message)");
+ assert_not_reached ();
+ }
+ });
+
Test.add_func ("/gxml/tw/serializable/object_model/set_namespace", () => {
try {
var ns = new NameSpace ();
@@ -798,19 +352,210 @@ UNKNOWN CONTENT
assert_not_reached ();
}
});
+ // TODO: Add deserialize to TwDocument
+ Test.add_func ("/gxml/tw/serializable/object_model/deserialize_serializable_properties",
+ () => {
+ var package = new Package ();
+ try {
+ var doc = new xDocument.from_string (XML_PACKAGE_FILE);
+ package.deserialize (doc);
+ if (package.source != "Mexico/Central") {
+ stdout.printf (@"ERROR PACKAGE: source: $(package.source)\n");
+ assert_not_reached ();
+ }
+ if (package.destiny != "Japan") {
+ stdout.printf (@"ERROR PACKAGE: destiny: $(package.destiny)\n");
+ assert_not_reached ();
+ }
+ if (package.manual.document != "Specification") {
+ stdout.printf (@"ERROR PACKAGE: manual document: $(package.manual.document)\n");
+ assert_not_reached ();
+ }
+ if (package.manual.pages != 3) {
+ stdout.printf (@"ERROR PACKAGE: manual pages: $(package.manual.pages)\n");
+ assert_not_reached ();
+ }
+ if (package.manual.get_contents () != "This is an Specification file") {
+ stdout.printf (@"ERROR PACKAGE: manual value: $(package.manual.get_contents ())\n");
+ assert_not_reached ();
+ }
+ if (package.computer.manufacturer != "LanCorop") {
+ stdout.printf (@"ERROR PACKAGE: computer manufacturer: $(package.computer.manufacturer)\n");
+ assert_not_reached ();
+ }
+ if (package.computer.model != "Lap39120") {
+ stdout.printf (@"ERROR PACKAGE: computer model: $(package.computer.model)\n");
+ assert_not_reached ();
+ }
+ if (package.computer.cores != 16) {
+ stdout.printf (@"ERROR PACKAGE: computer cores: $(package.computer.cores)\n");
+ assert_not_reached ();
+ }
+ if (package.computer.ghz != (float) 3.5) {
+ stdout.printf (@"ERROR PACKAGE: computer ghz $(package.computer.ghz)\n");
+ assert_not_reached ();
+ }
+ }
+ catch (GLib.Error e) {
+ GLib.message (@"Error: $(e.message)");
+ assert_not_reached ();
+ }
+ });
+ Test.add_func ("/gxml/tw/serializable/object_model/deserialize_simple_object",
+ () => {
+ var computer = new Computer ();
+ try {
+ var doc = new xDocument.from_string (XML_COMPUTER_FILE);
+ computer.deserialize (doc);
+ if (computer.manufacturer != "ThecnicalGroup") {
+ stdout.printf (@"ERROR XML_COMPUTER: manufacturer val: $(computer.manufacturer)\n");
+ assert_not_reached ();
+ }
+ if (computer.model !="YH576G") {
+ stdout.printf (@"ERROR XML_COMPUTER: model val: $(computer.model)\n");
+ assert_not_reached ();
+ }
+ if (computer.cores != 4) {
+ stdout.printf (@"ERROR XML_COMPUTER: cores val: $(computer.cores)\n");
+ assert_not_reached ();
+ }
+ if (computer.ghz != (float) 2.8) {
+ stdout.printf (@"ERROR XML_COMPUTER: ghz val: $(computer.ghz)\n");
+ assert_not_reached ();
+ }
+ } catch (GLib.Error e)
+ {
+ GLib.message (@"GHz : $(computer.to_string ()) ERROR: $(e.message)");
+ assert_not_reached ();
+ }
+ });
+ Test.add_func ("/gxml/tw/serializable/object_model/deserialize_object_contents",
+ () => {
+ var manual = new Manual ();
+ try {
+ var doc = new xDocument.from_string ("""<?xml version="1.0"?>
+ <manual document="Specification" pages="3">This is an Specification file</manual>""");
+ manual.deserialize (doc);
+ if (manual.document != "Specification") {
+ stdout.printf (@"ERROR MANUAL: Bad document value. Expected 'Specification', got:
$(manual.document)\n");
+ assert_not_reached ();
+ }
+ if (manual.pages != 3) {
+ stdout.printf (@"ERROR MANUAL: Bad pages value. Expected '3', got: $(manual.pages)\n");
+ assert_not_reached ();
+ }
+ if (manual.get_contents () != "This is an Specification file") {
+ stdout.printf (@"ERROR MANUAL: Bad xElement content value. Expected 'This is an Specification
file', got: $(manual.get_contents ())\n");
+ assert_not_reached ();
+ }
+ }
+ catch (GLib.Error e) {
+ GLib.message (@"Error: $(e.message)");
+ assert_not_reached ();
+ }
+ }
+ );
+
+ Test.add_func ("/gxml/tw/serializable/object_model/deserialize_array_property",
+ () => {
+ var doc = new xDocument.from_string (XML_PACKAGE_FILE);
+ var package = new Package ();
+ try {
+ package.deserialize (doc);
+ if (package.tags.length != 3) {
+ stdout.printf (@"ERROR PACKAGE: tags length: $(package.tags.length)");
+ assert_not_reached ();
+ }
+ if (package.tags.index (0) != "Printer") {
+ stdout.printf (@"ERROR PACKAGE: tags index 0: $(package.tags.index (0))");
+ assert_not_reached ();
+ }
+ if (package.tags.index (1) != "Partner") {
+ stdout.printf (@"ERROR PACKAGE: tags index 1: $(package.tags.index (1))");
+ assert_not_reached ();
+ }
+ if (package.tags.index (2) != "Support") {
+ stdout.printf (@"ERROR PACKAGE: tags index 0: $(package.tags.index (2))");
+ assert_not_reached ();
+ }
+ }
+ catch (GLib.Error e) {
+ GLib.message (@"Error: $(e.message)");
+ assert_not_reached ();
+ }
+ });
+Test.add_func ("/gxml/tw/serializable/object_model/override_deserialize",
+ () => {
+ var doc = new xDocument.from_string ("""<?xml version="1.0"?>
+ <Configuration xmlns:om="http://www.gnome.org/gxml/0.4" device="Sampler"/>""");
+ var configuration = new Configuration ();
+ try {
+#if DEBUG
+ GLib.message ("Deserializing doc...");
+#endif
+ configuration.deserialize (doc);
+#if DEBUG
+ GLib.message ("Verifing Configuration...");
+#endif
+ if (configuration.invalid == true) {
+#if DEBUG
+ stdout.printf ("CONFIGURATION: deserialize is INVALID\n");
+ foreach (GXml.Namespace n in doc.document_element.namespace_definitions) {
+ stdout.printf (@"CONFIGURATION: namespace: $(n.uri)\n");
+ }
+#endif
+ assert_not_reached ();
+ }
+ }
+ catch (GLib.Error e) {
+ stdout.printf (@"Error: $(e.message)");
+ assert_not_reached ();
+ }
+ });
+ Test.add_func ("/gxml/tw/serializable/object_model/custome_node_name",
+ () => {
+ var doc = new xDocument.from_string ("""<?xml version="1.0"?><NodeName />""");
+ var nodename = new NodeName ();
+ try {
+ nodename.deserialize (doc);
+ }
+ catch (GLib.Error e) {
+ stdout.printf (@"Error: $(e.message)");
+ assert_not_reached ();
+ }
+ });
+ Test.add_func ("/gxml/tw/serializable/object_model/deserialize_incorrect_uint",
+ () => {
+ try {
+ var doc = new xDocument.from_string (
+ """<?xml version="1.0"?>
+ <PACKAGE source="Mexico/North" destiny="Brazil" Hope="2/4.04">
+ <manual document="Sales Card" pages="1">Selling Card Specification</manual>
+ <Computer manufacturer="BoxingLAN" model="J24-EX9" cores="32.5" ghz="1.8" quantity="0.2" />
+ <Box size="1" volume="33.15" units="cm3" />
+ </PACKAGE>""");
+ Test.message (@"XML:\n$(doc)");
+ var pkg = new Package ();
+ pkg.deserialize (doc);
+ }
+ catch (GLib.Error e) {
+ Test.message ("Error thrown for invalid string to guint");
+ assert_not_reached ();
+ }
+ });*/
}
- static void serialize_manual_check (xElement element, Manual manual)
+ static void serialize_manual_check (Element element, Manual manual)
{
- var document = element.get_attribute_node ("document");
+ var document = element.attrs.get ("document");
if (document == null) assert_not_reached ();
- if (document.node_value != manual.document) {
- stdout.printf (@"ERROR MANUAL: document: $(document.node_value)\n");
+ if (document.value != manual.document) {
+ stdout.printf (@"ERROR MANUAL: document: $(document.value)\n");
assert_not_reached ();
}
- var pages = element.get_attribute_node ("pages");
+ var pages = element.attrs.get ("pages");
if (pages == null) assert_not_reached ();
- if (int.parse (pages.node_value) != manual.pages) {
- stdout.printf (@"ERROR MANUAL: pages: $(pages.node_value)\n");
+ if (int.parse (pages.value) != manual.pages) {
+ stdout.printf (@"ERROR MANUAL: pages: $(pages.value)\n");
assert_not_reached ();
}
if (element.content != manual.get_contents ()) {
diff --git a/test/SerializableObjectModelTest.vala b/test/SerializableObjectModelTest.vala
index 09c0077..91ba793 100644
--- a/test/SerializableObjectModelTest.vala
+++ b/test/SerializableObjectModelTest.vala
@@ -131,8 +131,8 @@ public class Package : ObjectModel
{
for (int i = 0; i < tags.length; i++) {
var str = tags.index (i);
- node = (xElement) element.document.create_element ("tag");
- ((xElement) node).content = str;
+ node = (Element) element.document.create_element ("tag");
+ ((Element) node).content = str;
element.childs.add (node);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]