Public Member Functions | Static Private Member Functions | Static Private Attributes

XMLTest Class Reference

Examples used as tests for XMLStorage. More...

Collaboration diagram for XMLTest:
Collaboration graph
[legend]

List of all members.

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 = "../../../"

Detailed Description

Examples used as tests for XMLStorage.

Author:
Martin Fuchs

Definition at line 46 of file XMLTest.cs.


Member Function Documentation

static void XMLTest::Main ( string[]  args ) [inline, static, private]

Main function of XMLTest.

Parameters:
argsunused 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();
    }

Member Data Documentation

string XMLTest::s_TestdataDir = "../../../" [static, private]

Definition at line 48 of file XMLTest.cs.


The documentation for this class was generated from the following file: