Browse Source

Extended TestDataFactory class

- added XML example content creation method
Patrick 3 years ago
parent
commit
a950ba9c3d
2 changed files with 36 additions and 2 deletions
  1. 33 1
      test/TestDataFactory.cpp
  2. 3 1
      test/TestDataFactory.hpp

+ 33 - 1
test/TestDataFactory.cpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-16
- * Changed:         2020-09-16
+ * Changed:         2020-09-26
  *
  * */
 
@@ -38,3 +38,35 @@ ls_std::StateMachine ls_std_test::TestDataFactory::createStateMachine()
 
   return stateMachine;
 }
+
+std::shared_ptr<ls_std::XMLNode> ls_std_test::TestDataFactory::createXMLContent()
+{
+  std::shared_ptr<ls_std::XMLNode> root = std::make_shared<ls_std::XMLNode>("dialog");
+  std::shared_ptr<ls_std::XMLAttribute> attribute {};
+  std::shared_ptr<ls_std::XMLNode> child {};
+  std::shared_ptr<ls_std::XMLNode> text {};
+
+  attribute = std::make_shared<ls_std::XMLAttribute>("name");
+  attribute->setValue("dungeon_001");
+  root->addAttributeToEnd(attribute);
+
+  child = std::make_shared<ls_std::XMLNode>("dialogUnit");
+  attribute = std::make_shared<ls_std::XMLAttribute>("id");
+  attribute->setValue("001");
+  child->addAttributeToEnd(attribute);
+  text = std::make_shared<ls_std::XMLNode>("text");
+  text->setValue("Hello!");
+  child->addChildToEnd(text);
+  root->addChildToEnd(child);
+
+  child = std::make_shared<ls_std::XMLNode>("dialogUnit");
+  attribute = std::make_shared<ls_std::XMLAttribute>("id");
+  attribute->setValue("002");
+  child->addAttributeToEnd(attribute);
+  text = std::make_shared<ls_std::XMLNode>("text");
+  text->setValue("Hello again!");
+  child->addChildToEnd(text);
+  root->addChildToEnd(child);
+
+  return root;
+}

+ 3 - 1
test/TestDataFactory.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-16
- * Changed:         2020-09-16
+ * Changed:         2020-09-26
  *
  * */
 
@@ -11,6 +11,7 @@
 #define LS_STD_TEST_DATA_FACTORY_HPP
 
 #include "../source/logic/StateMachine.hpp"
+#include "../source/io/xml/XMLNode.hpp"
 
 namespace ls_std_test {
   class TestDataFactory {
@@ -20,6 +21,7 @@ namespace ls_std_test {
       ~TestDataFactory() = default;
 
       static ls_std::StateMachine createStateMachine();
+      static std::shared_ptr<ls_std::XMLNode> createXMLContent();
   };
 }