123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- #include "pch.h"
- #include <XML.h>
- #include "CppUnitTest.h"
- using namespace Microsoft::VisualStudio::CppUnitTestFramework;
- namespace FrameworkTests
- {
- TEST_CLASS (XMLParserTests)
- {
- public:
- TEST_METHOD (EmptyElementTest)
- {
- Framework::XML::Element* element = new Framework::XML::Element(
- "<xml attr attr2=\"\" attr3=\"true\"/>");
- Assert::IsTrue(element->getAttributeCount() == 3,
- L"One ore more xml attributes are missing");
- Assert::IsTrue(element->getName().istGleich("xml"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->getChildCount() == 0,
- L"Das Element sollte keine Kinder haben");
- Assert::IsTrue(
- element->hasAttribute("attr"), L"Das Attribut attr fehlt");
- Assert::IsTrue(
- element->hasAttribute("attr2"), L"Das Attribut attr2 fehlt");
- Assert::IsTrue(
- element->hasAttribute("attr3"), L"Das Attribut attr3 fehlt");
- Assert::IsTrue(element->hasAttribute("") == 0,
- L"Es gibt ein falsches Attribut");
- Assert::IsTrue(element->getAttributeName(0).istGleich("attr"),
- L"Der Attribut name ist falsch");
- Assert::IsTrue(element->getAttributeName(1).istGleich("attr2"),
- L"Der Attribut name ist falsch");
- Assert::IsTrue(element->getAttributeName(2).istGleich("attr3"),
- L"Der Attribut name ist falsch");
- Assert::IsTrue(element->getAttributeValue("attr").istGleich(""),
- L"Der Wert des Attributes ist falsch");
- Assert::IsTrue(element->getAttributeValue("attr2").istGleich(""),
- L"Der Wert des Attributes ist falsch");
- Assert::IsTrue(
- element->getAttributeValue("attr3").istGleich("true"),
- L"Der Wert des Attributes ist falsch");
- element->release();
- }
- TEST_METHOD (ChildrenElementTest)
- {
- Framework::XML::Element* element
- = new Framework::XML::Element("<xml><a1/><a2/></xml>");
- Assert::IsTrue(element->getAttributeCount() == 0,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->getName().istGleich("xml"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->getChildCount() == 2,
- L"Die Anzahl der Kinder ist falsch");
- Assert::IsTrue(element->zChild(0)->getAttributeCount() == 0,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->zChild(1)->getAttributeCount() == 0,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->zChild(0)->getName().istGleich("a1"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->zChild(1)->getName().istGleich("a2"),
- L"Der Element Name ist falsch");
- element->release();
- }
- TEST_METHOD (WhitespaceTest)
- {
- Framework::XML::Element* element = new Framework::XML::Element(
- "<xml \t \r\n \t > \r\n <a1 x y z=\"\"/> <a2/>\t</xml >");
- Assert::IsTrue(element->getAttributeCount() == 0,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->getName().istGleich("xml"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->getChildCount() == 2,
- L"Die Anzahl der Kinder ist falsch");
- Assert::IsTrue(element->zChild(0)->getAttributeCount() == 3,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->zChild(1)->getAttributeCount() == 0,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->zChild(0)->getName().istGleich("a1"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->zChild(1)->getName().istGleich("a2"),
- L"Der Element Name ist falsch");
- element->release();
- }
- };
- TEST_CLASS (XMLEditorTests)
- {
- public:
- TEST_METHOD (SetAttributeTest)
- {
- Framework::XML::Element* element = new Framework::XML::Element(
- "<xml><a1 x y z=\"\"/><a2/></xml>");
- element->selectChildren().setAttribute("x", "true");
- Assert::IsTrue(element->getName().istGleich("xml"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->getChildCount() == 2,
- L"Die Anzahl der Kinder ist falsch");
- Assert::IsTrue(element->zChild(0)->getAttributeCount() == 3,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->zChild(1)->getAttributeCount() == 1,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->zChild(0)->getName().istGleich("a1"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->zChild(1)->getName().istGleich("a2"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(
- element->zChild(0)->getAttributeValue("x").istGleich("true"),
- L"Der Attribut wert ist falsch");
- Assert::IsTrue(
- element->zChild(1)->getAttributeValue("x").istGleich("true"),
- L"Der Attribut wert ist falsch");
- element->release();
- }
- TEST_METHOD (RemoveAttributeTest)
- {
- Framework::XML::Element* element = new Framework::XML::Element(
- "<xml><a1 x y z=\"\"/><a2/></xml>");
- element->selectChildren().removeAttribute("x");
- Assert::IsTrue(element->getName().istGleich("xml"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->getChildCount() == 2,
- L"Die Anzahl der Kinder ist falsch");
- Assert::IsTrue(element->zChild(0)->getAttributeCount() == 2,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->zChild(1)->getAttributeCount() == 0,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->zChild(0)->getName().istGleich("a1"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->zChild(1)->getName().istGleich("a2"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->zChild(0)->hasAttribute("x") == 0,
- L"Ein entferntes Attibut ist noch vorhanden");
- Assert::IsTrue(element->zChild(1)->hasAttribute("x") == 0,
- L"Ein entferntes Attibut ist noch vorhanden");
- element->release();
- }
- TEST_METHOD (AddChildrenTest)
- {
- Framework::XML::Element* element = new Framework::XML::Element(
- "<xml><a1 x y z=\"\"/><a2/></xml>");
- element->selectChildren().whereAttributeExists("x").addChild(
- element->dublicate());
- Assert::IsTrue(element->getName().istGleich("xml"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->getChildCount() == 2,
- L"Die Anzahl der Kinder ist falsch");
- Assert::IsTrue(element->zChild(0)->getAttributeCount() == 3,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->zChild(1)->getAttributeCount() == 0,
- L"Die Anzahl der Attribute stimmt nicht");
- Assert::IsTrue(element->zChild(0)->getName().istGleich("a1"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->zChild(1)->getName().istGleich("a2"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->zChild(0)->getChildCount() == 1,
- L"Anzahl der Kinder ist Falsch");
- Assert::IsTrue(element->zChild(1)->getChildCount() == 0,
- L"Anzahl der Kinder ist Falsch");
- element->release();
- }
- TEST_METHOD (RemoveTest)
- {
- Framework::XML::Element* element = new Framework::XML::Element(
- "<xml><a1 x y z=\"\"/><a2/></xml>");
- element->selectChildren().whereAttributeExists("x").remove();
- Assert::IsTrue(element->getName().istGleich("xml"),
- L"Der Element Name ist falsch");
- Assert::IsTrue(element->getChildCount() == 1,
- L"Die Anzahl der Kinder ist falsch");
- Assert::IsTrue(element->zChild(0)->getAttributeCount() == 0,
- L"Die Anzahl der Attribute stimmt nicht");
- element->release();
- }
- };
- } // namespace FrameworkTests
|