def testSaveModelToFile(self): """save a ModelFile to a file""" testfile = makeTempFile("""foo: my test bar: 3 foo: another bar: 1 bar: 2""") # Create a model model = ModelFile() model.add_element("foo", check="string", multiple=True) model.add_element("bar", check="digit", multiple=True) # Load a test file model.load(testfile.name) # Save it to a new file filename = makeTempFilename() model.save(filename, "# Some header") # Reload the file in another model model2 = model.emptycopy() model2.load(filename) os.unlink(filename) # Compare the two files. They should have no difference added, changed, removed = model.diff(model2) self.assertTrue(len(changed) == len(added) == len(removed) == 0)
def testLoadModelFromFile(self): """load a ModelFile from file""" model = ModelFile() model.add_element("foo", check="string", multiple=True) model.add_element("bar", check="digit", multiple=True) testfile = makeTempFile("""foo: my test bar: 3 foo: another bar: 1 bar: 2""") model.load(testfile.name) self.assertEqual(model.get('foo'), ['my test', 'another']) self.assertEqual(model.get('bar'), [3, 1, 2]) # Bad file syntax testfile = makeTempFile("""foo bad file""") self.assertRaises(ModelFileValueError, model.load, testfile.name)