示例#1
0
 def testAddAndRemove(self):
     """ testAddAndRemove """
     self.f1 = FormDef.from_file( get_file("data/versioning/base.xsd") )
     f2 = FormDef.from_file( get_file("data/versioning/field_added.xsd") )
     diff = self.f1.get_differences(f2)
     self.assertFalse(diff.is_empty())
     self.assertTrue(len(diff.fields_added)==3)
     self.assertTrue(len(diff.fields_changed)==0)
     self.assertTrue(len(diff.fields_removed)==0)
     diff = f2.get_differences(self.f1)
     self.assertFalse(diff.is_empty())
     self.assertTrue(len(diff.fields_added)==0)
     self.assertTrue(len(diff.fields_removed)==3)
     self.assertTrue(len(diff.fields_changed)==0)
示例#2
0
 def to_formdef(self):
     """Convert this FormDefModel to a FormDef object."""
     if self.xsd_file_location is None:
         # I wonder if we should really fail this hard...
         raise IOError("Schema for form %s could not be found on the file system." % \
                       self.target_namespace)
     return FormDef.from_file(self.xsd_file_location)
示例#3
0
 def testChangeType(self):
     """ testChangeType """
     f2 = FormDef.from_file( get_file("data/versioning/field_changed_type.xsd") )
     diff = self.f1.get_differences(f2)
     self.assertFalse(diff.is_empty())
     self.assertTrue(len(diff.fields_added)==0)
     self.assertTrue(len(diff.fields_removed)==0)
     self.assertTrue(len(diff.fields_changed)==3)
示例#4
0
 def testChangeNodeRepeats(self):
     """ testChangeNodeRepeats """
     # make repeatable
     f1 = FormDef.from_file( get_file("data/versioning/repeats.xsd") )
     f2 = FormDef.from_file( get_file("data/versioning/field_changed_repeatable_node.xsd") )
     diff = f1.get_differences(f2)
     self.assertFalse(diff.is_empty())
     self.assertTrue(len(diff.fields_added)==0)
     self.assertTrue(len(diff.fields_removed)==0)
     # when the parent becomes repeatable, both parent and child have changed
     self.assertTrue(len(diff.fields_changed)==2)
     # make not repeatable
     diff = f2.get_differences(f1)
     self.assertFalse(diff.is_empty())
     self.assertTrue(len(diff.fields_added)==0)
     self.assertTrue(len(diff.fields_removed)==0)
     # when the parent becomes repeatable, both parent and child have changed
     self.assertTrue(len(diff.fields_changed)==2)
示例#5
0
 def testChangeLeafRepeats(self):
     """ testChangeLeafRepeats """
     # make repeatable
     f2 = FormDef.from_file( get_file("data/versioning/field_changed_repeatable_leaf.xsd") )
     diff = self.f1.get_differences(f2)
     self.assertFalse(diff.is_empty())
     self.assertTrue(len(diff.fields_added)==0)
     self.assertTrue(len(diff.fields_removed)==0)
     self.assertTrue(len(diff.fields_changed)==1)
     # make not repeatable
     diff = f2.get_differences(self.f1)
     self.assertFalse(diff.is_empty())
     self.assertTrue(len(diff.fields_added)==0)
     self.assertTrue(len(diff.fields_removed)==0)
     self.assertTrue(len(diff.fields_changed)==1)
示例#6
0
 def testChangeEnumAddAndRemove(self):
     """ testChangeEnumAddAndRemove """
     f2 = FormDef.from_file( get_file("data/versioning/field_changed_enum.xsd") )
     diff = self.f1.get_differences(f2)
     self.assertFalse(diff.is_empty())
     self.assertTrue(len(diff.fields_added)==0)
     self.assertTrue(len(diff.fields_changed)==0)
     self.assertTrue(len(diff.fields_removed)==0)
     self.assertTrue(len(diff.types_changed)==1)
     diff = f2.get_differences(self.f1)
     self.assertFalse(diff.is_empty())
     self.assertTrue(len(diff.fields_added)==0)
     self.assertTrue(len(diff.fields_changed)==0)
     self.assertTrue(len(diff.fields_removed)==0)
     self.assertTrue(len(diff.types_changed)==1)
示例#7
0
 def setUp(self):
     self.f1 = FormDef.from_file( get_file("data/versioning/base.xsd") )