def test_from_xml_multi_form(self):
     data = dict(self.make_mgmt_data(2).items() + self.make_sub_form_data(0).items() + self.make_sub_form_data(1).items())
     form = Form(self.uih, data, prefix=self.prefix)
     self.assertTrue(form.is_valid())
     root = create_root('tao', xmlns='http://tao.asvo.org.au/schema/module-parameters-v1')
     work = child_element(root, 'workflow')
     child_element(work, 'schema-version', '2.0')
     form.to_xml(work)
     root = xml_parse(xml_print(root)) ## do this to recover namespace info not explicit above
     form = Form.from_xml(self.uih, root, self.prefix)
     self.assertTrue(form.is_valid())
     self.assertEqual(form.total_form_count(), 2, msg='Must create extra form.')
 def test_missing_sub_forms(self):
     form = Form(self.uih, self.mgmt_data, prefix=self.prefix)
     self.assertEqual(1, form.total_form_count())
     self.assertFalse(form.is_valid(), msg='Empty form is not accepted')