Examples used as tests for XMLStorage. More...
Public Member Functions | |
void | testStreamingReader1 () |
Test 1 for XMLStorage: navigate in XML data. | |
void | testStreamingWriter () |
Stream test for XMLStreamWriter. | |
void | testStreamingReader2 () |
Stream test 2 for XMLStreamReader. | |
Static Private Member Functions | |
static void | Main (string[] args) |
Main function of XMLTest. | |
Static Private Attributes | |
static string | s_TestdataDir = "../../../" |
Examples used as tests for XMLStorage.
Definition at line 46 of file XMLTest.cs.
static void XMLTest::Main | ( | string[] | args ) | [inline, static, private] |
Main function of XMLTest.
args | unused command line arguments |
Definition at line 309 of file XMLTest.cs.
{ XMLTest me = new XMLTest(); try { /*@@ me.test1(); me.test2Write(); me.test2Read(); me.test3Write(); */ me.testStreamingWriter(); me.testStreamingReader1(); me.testStreamingReader2(); } catch(Exception e) { System.Console.Error.WriteLine(e); System.Console.Error.WriteLine(e.StackTrace); } }
void XMLTest::testStreamingReader1 | ( | ) | [inline] |
Test 1 for XMLStorage: navigate in XML data.
public void test1() { string path = s_TestdataDir + "poem.xml"; string path = s_TestdataDir + "machines.xml"; string path = s_TestdataDir + "packets.xml";
XMLDoc doc = new XMLDoc();
doc.readFile(path);
XMLPos pos = new XMLPos(doc); pos.goDown("get_packets");
pos.putSubattrib("options", "hide-inactive", string.valueOf(false));
XMLChildrenFilter filter = new XMLChildrenFilter(pos, "packet");
foreach(XMLNode node in filter) { XMLIntRef dbId = new XMLIntRef(node, "db_id"); db_id.assign(-999); System.Console.Out.WriteLine("db_id: " + dbId.intValue());
int x = node.getInt("db_id", 12345).intValue(); System.Console.Out.WriteLine("x: " + x);
System.Console.Out.WriteLine(node + " \"" + node.get("name") + """); }
pos.back();
doc.writeFile(s_TestdataDir + "out.xml");
pos = new XMLPos(doc);
if (pos.go("get_packets/packet")) if (pos.go("/get_packets/packet")) if (pos.go("/get_packets/packet[5]")) if (pos.go("/get_packets/packet[@db_id=\"7628"]")) if (pos.go("get_machines/machine[="client2"]")) {
pos.back(); } }
/** Write an example XML file.
public void test2Write() { XMLDoc doc = new XMLDoc(); XMLPos pos = new XMLPos(doc);
Zusammenstellen der XML-Struktur im Dokument 'doc' pos.create("PARAMS"); pos.create("TEXT"); pos.setContent("Testgruppe"); pos.back(); // </TEXT>
pos.create("COLOR"); pos.create("RED"); pos.setContent("234"); pos.back(); // </RED>
pos.create("GREEN"); pos.setContent("22"); pos.back(); // </GREEN>
pos.create("BLUE"); pos.setContent("33"); pos.back(); // </BLUE> pos.back(); // </COLOR>
pos.create("FONT"); pos.create("FONT_FILENAME"); pos.setContent("Arial.ttf"); pos.back(); // </FONT_FILENAME>
pos.create("SIZE"); pos.setContent("12"); pos.back(); // </SIZE> pos.back(); // </FONT> pos.back(); // </PARAMS>
Schreiben der XML-Datei doc.writeFile(s_TestdataDir + "sandra1.xml"); }
/** Read back the example file and print some of its content.
public void test2Read() { XMLDoc doc = new XMLDoc();
Einlesen des XML-Files doc.readFile(s_TestdataDir + "sandra1.xml");
XMLPos pos = new XMLPos(doc); string filename = ""; int size = 0;
Abfrage eines Elementinhalts, beispielsweise von FONT_FILENAME if (pos.go("PARAMS/FONT")) { if (pos.goDown("FONT_FILENAME")) { filename = pos.getContent(); pos.back(); }
if (pos.goDown("SIZE")) { size = new XMLInt(pos.getContent()).intValue(); pos.back(); }
pos.back(); }
Ausgabe des ermittelten Werts System.Console.Out.WriteLine("font filename: " + filename); System.Console.Out.WriteLine("font size: " + size);
assertEquals("Font filename", "Arial.ttf", filename); assertEquals("Font size", 12, size); }
/** Test 3 of XMLStorage: write another example file.
public void test3Write() { XMLDoc doc = new XMLDoc(); XMLPos pos = new XMLPos(doc);
create the XML tree in memory pos.create("root");
pos.create("foo"); pos.setContent("bar"); pos.back(); // </foo>
pos.create("foo2"); pos.put("attr1", "value1"); pos.put("attr2", "value2");
pos.create("foo3"); pos.setContent("bar2"); pos.back(); pos.back();
pos.back(); // </root>
write the XML file doc.writeFile(s_TestdataDir + "test.xml"); }
/** Stream test 1 for XMLStreamReader.
Definition at line 214 of file XMLTest.cs.
{ string path = s_TestdataDir + "packets.xml"; XMLStreamReader reader = new XMLStreamReader(path); reader.goDown("get_packets"); if (reader.firstChild("packet")) do { XMLInt dbId = new XMLInt(reader, "db_id"); System.Console.Out.WriteLine("db_id: " + dbId.intValue()); int x = reader.getNode().getInt("db_id", 12345).intValue(); System.Console.Out.WriteLine("x: " + x); System.Console.Out.WriteLine(reader + " \"" + reader.get("name") + "\""); } while(reader.nextSkipOthers("packet")); reader.back(); reader.close(); }
void XMLTest::testStreamingReader2 | ( | ) | [inline] |
Stream test 2 for XMLStreamReader.
Definition at line 267 of file XMLTest.cs.
{ string path = s_TestdataDir + "stream-example.xml"; XMLStreamReader reader = new XMLStreamReader(path); if (reader.goDown("PERSON")) { if (reader.goDown("NAME")) { string content = reader.getContent(); System.Console.Out.WriteLine("NAME content=" + content); reader.back(); // </NAME> } if (reader.goDown("VORNAME")) { string content = reader.getContent(); System.Console.Out.WriteLine("VORNAME content=" + content); reader.back(); // </VORNAME> } } if (reader.goDown("ADRESSE")) { string priv = reader.get("private"); string content = reader.getContent(); System.Console.Out.WriteLine("ADRESSE.@private=" + priv); System.Console.Out.WriteLine("ADRESSE content=" + content); reader.back(); // </ADRESSE> } reader.back(); // </PERSON> reader.close(); }
void XMLTest::testStreamingWriter | ( | ) | [inline] |
Stream test for XMLStreamWriter.
Definition at line 240 of file XMLTest.cs.
{ XMLStreamWriter writer = new XMLStreamWriter(s_TestdataDir + "stream-example.xml"); writer.create("PERSON"); writer.create("NAME"); writer.setContent("Mustername"); writer.back(); // </NAME> writer.create("VORNAME"); writer.setContent("Mustervorname"); writer.back(); // </VORNAME> writer.create("ADRESSE"); writer.put("private", new XMLBool(true)); writer.setContent("Musteradresse"); writer.back(); // </ADRESSE> writer.back(); // </PERSON> writer.close(); }
string XMLTest::s_TestdataDir = "../../../" [static, private] |
Definition at line 48 of file XMLTest.cs.