123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- #include "pch.h"
- #include "CppUnitTest.h"
- #include <XML.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();
- }
- };
- }
|