void mw::XMLParserTestFixture::testLoadListInDictionary() { CPPUNIT_ASSERT(testVar->getValue().getFloat() == 0.0); const char *xml_text = "<?xml version=\"1.0\"?>" "<monkeyml version=\"1.1\">" " <variable_assignments>" " <variable_assignment variable=\"testVar\">" " <dictionary>" " <dictionary_element>" " <key>one</key>" " <value>" " <list>" " <list_element>" " <value type=\"integer\">11</value>" " </list_element>" " <list_element>" " <value type=\"integer\">12</value>" " </list_element>" " </list>" " </value>" " </dictionary_element>" " <dictionary_element>" " <key>two</key>" " <value>" " <list>" " <list_element>" " <value type=\"integer\">21</value>" " </list_element>" " <list_element>" " <value type=\"integer\">22</value>" " </list_element>" " </list>" " </value>" " </dictionary_element>" " </dictionary>" " </variable_assignment>" " </variable_assignments>" "</monkeyml>"; writeToFile(xml_text); mw::VariableLoad::loadExperimentwideVariables(temp_xml_file_path); mw::Data sublist1(M_LIST, 2); sublist1.setElement(0, mw::Data(11L)); sublist1.setElement(1, mw::Data(12L)); mw::Data sublist2(M_LIST, 2); sublist2.setElement(0, mw::Data(21L)); sublist2.setElement(1, mw::Data(22L)); mw::Data test_dict(M_DICTIONARY, 2); test_dict.addElement("one", sublist1); test_dict.addElement("two", sublist2); CPPUNIT_ASSERT(testVar->getValue() == test_dict); }
void mw::XMLParserTestFixture::testLoadListWithinList() { CPPUNIT_ASSERT(testVar->getValue().getFloat() == 0.0); const char *xml_text = "<?xml version=\"1.0\"?>" "<monkeyml version=\"1.1\">" " <variable_assignments>" " <variable_assignment variable=\"testVar\">" " <list>" " <list_element>" " <value>" " <list>" " <list_element>" " <value type=\"integer\">1</value>" " </list_element>" " <list_element>" " <value type=\"integer\">2</value>" " </list_element>" " </list>" " </value>" " </list_element>" " <list_element>" " <value>" " <list>" " <list_element>" " <value type=\"integer\">3</value>" " </list_element>" " <list_element>" " <value type=\"integer\">4</value>" " </list_element>" " </list>" " </value>" " </list_element>" " </list>" " </variable_assignment>" " </variable_assignments>" "</monkeyml>"; writeToFile(xml_text); mw::VariableLoad::loadExperimentwideVariables(temp_xml_file_path); mw::Data sublist1(M_LIST, 2); sublist1.setElement(0, mw::Data(1L)); sublist1.setElement(1, mw::Data(2L)); mw::Data sublist2(M_LIST, 2); sublist2.setElement(0, mw::Data(3L)); sublist2.setElement(1, mw::Data(4L)); mw::Data test_list(M_LIST, 2); test_list.setElement(0, sublist1); test_list.setElement(1, sublist2); CPPUNIT_ASSERT(testVar->getValue() == test_list); }
void mw::XMLParserTestFixture::testSaveThenLoadListInDict() { mw::Data sublist1(M_LIST, 2); sublist1.setElement(0, mw::Data(1L)); sublist1.setElement(1, mw::Data(2L)); mw::Data sublist2(M_LIST, 2); sublist2.setElement(0, mw::Data(3L)); sublist2.setElement(1, mw::Data(4L)); mw::Data main_dict(M_DICTIONARY, 2); main_dict.addElement("one", sublist1); main_dict.addElement("two", sublist2); testVar->setValue(main_dict); mw::VariableSave::saveExperimentwideVariables(temp_xml_file_path); mw::Data test_data(5L); testVar->setValue(test_data); CPPUNIT_ASSERT(testVar->getValue().getInteger() == 5); mw::VariableLoad::loadExperimentwideVariables(temp_xml_file_path); CPPUNIT_ASSERT(testVar->getValue() == main_dict); }
void mw::XMLParserTestFixture::testSaveThenLoadListInList() { mw::Datum sublist1(M_LIST, 2); sublist1.setElement(0, mw::Datum(1L)); sublist1.setElement(1, mw::Datum(2L)); mw::Datum sublist2(M_LIST, 2); sublist2.setElement(0, mw::Datum(3L)); sublist2.setElement(1, mw::Datum(4L)); mw::Datum test_list(M_LIST, 2); test_list.setElement(0, sublist1); test_list.setElement(1, sublist2); testVar->setValue(test_list); mw::VariableSave::saveExperimentwideVariables(temp_xml_file_path); mw::Datum test_data(5L); testVar->setValue(test_data); CPPUNIT_ASSERT(testVar->getValue().getInteger() == 5); mw::VariableLoad::loadExperimentwideVariables(temp_xml_file_path); CPPUNIT_ASSERT(testVar->getValue() == test_list); }