def test_does_not_copy(self): input = [{"id": "", "title": "Foo"}] self.assertEqual(id(uniquify_ids(input)), id(input))
def test_keeps_other_keys(self): input = [{"id": "foo", "title": "Foo", "bar": "Bar"}] output = [{"id": "foo", "title": "Foo", "bar": "Bar"}] self.assertEqual(uniquify_ids(input), output)
def test_modification_keeps_ids(self): input = [{"id": "", "title": "Foo"}, {"id": "foo", "title": "Bar"}] output = [{"id": "foo-1", "title": "Foo"}, {"id": "foo", "title": "Bar"}] self.assertEqual(uniquify_ids(input), output)
def test_conflicting_ids(self): input = [{"id": "", "title": "Foo"}, {"id": "", "title": "Foo"}, {"id": "", "title": "Foo"}] output = [{"id": "foo", "title": "Foo"}, {"id": "foo-1", "title": "Foo"}, {"id": "foo-2", "title": "Foo"}] self.assertEqual(uniquify_ids(input), output)
def test_keeps_unexpected_ids(self): input = [{"id": "fooX", "title": "Foo"}, {"id": "", "title": "Bar"}] output = [{"id": "fooX", "title": "Foo"}, {"id": "bar", "title": "Bar"}] self.assertEqual(uniquify_ids(input), output)
def test_partical_ids(self): input = [{"id": "foo", "title": "Foo"}, {"id": "", "title": "Bar"}] output = [{"id": "foo", "title": "Foo"}, {"id": "bar", "title": "Bar"}] self.assertEqual(uniquify_ids(input), output)