def test_basic_caching(self): test = create_an_test() serialized = test.SerializeToString() print(serialized) test.ParseFromString(serialized, cache=True) self.assertEqual(serialized, test.SerializeToString(cache=True)) self.assertEqual(serialized, test.SerializeToString(cache=True))
def test_update_child(self): test = create_an_test() serialized = test.SerializeToString(cache=True) test.substruct.field1 = test.substruct.field1 + 1 self.assertNotEqual(serialized, test.SerializeToString(cache=True)) test.ParseFromString(serialized, cache=True) test.substruct.field1 = test.substruct.field1 + 1 self.assertNotEqual(serialized, test.SerializeToString(cache=True))
def test_setters(self): source = create_an_test() dest = Test() for setter, value in zip(dest.Setters(), source.Values()): setter(value) for source_val, dest_val in zip(source.Values(), dest.Values()): self.assertEqual(source_val, dest_val)
def test_fields(self): test = create_an_test() fields = [ 'timestamp', 'field', 'string_field', 'list_fieldx', 'substruct', 'test_ref', 'enum_field', 'list_ref', 'another_substruct', 'req_field', 'negative_32' ] self.assertEqual(fields, list(test.Fields()))
def test_items(self): test = create_an_test() for field, value in test.Items(): self.assertEqual(value, getattr(test, field))
def test_basic_no_difference(self): test = create_an_test() self.assertEqual(test.SerializeToString(), test.SerializeToString(cache=True))