Ejemplo n.º 1
0
    def test_remove_value(self):
        original = {'a': 1, 'b': 2}
        modified = {'a': 1}
        doc = Document()
        doc.content = original
        self.assertEqual(doc.content, original)
        self.assertEqual([], list(doc.delta))
        self.assertEqual(original, doc.patched_content)

        doc.content = modified
        self.assertEqual(doc.content, modified)
        self.assertEqual([], list(doc.delta))
        self.assertEqual(modified, doc.patched_content)
Ejemplo n.º 2
0
    def test_add_value(self):
        original = {'a': 1, 'b': 2}
        modified = {'a': 1, 'b': 2, 'c': 3}
        modified_again = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
        doc = Document()
        doc.content = original
        doc.save()

        doc.content = modified
        self.assertEqual(doc.content, modified)
        self.assertEqual([('add', '', [('c', 3)])], list(doc.delta))
        self.assertEqual(modified, doc.patched_content)
        doc.save()

        doc.content = modified_again
        self.assertEqual(doc.content, modified_again)
        self.assertEqual([('add', '', [('d', 4)])], list(doc.delta))
        self.assertEqual(modified_again, doc.patched_content)
Ejemplo n.º 3
0
    def test_update_value(self):
        original = {'a': 1, 'b': 2}
        modified = {'a': 1, 'b': 4}
        modified_again = {'a': 2, 'b': 4}
        doc = Document()
        doc.content = original
        doc.save()

        doc.content = modified
        self.assertEqual(doc.content, modified)
        self.assertEqual([('change', 'b', (2, 4))], list(doc.delta))
        self.assertEqual(modified, doc.patched_content)
        doc.save()

        doc.content = modified_again
        self.assertEqual(doc.content, modified_again)
        self.assertEqual([('change', 'a', (1, 2))], list(doc.delta))
        self.assertEqual(modified_again, doc.patched_content)
Ejemplo n.º 4
0
    def test_constructor(self):
        original = {'a': 1, 'b': 2}
        modified = {'a': 1, 'b': 2, 'c': 3}
        doc = Document(content=original)
        doc.save()
        doc.content = modified

        doc.content = modified
        self.assertEqual(doc.content, modified)
        self.assertEqual([('add', '', [('c', 3)])], list(doc.delta))
        self.assertEqual(modified, doc.patched_content)