def test_convert_dict(self): self.assertEqual(data_taggify({}), CompoundDataTag({}))
def test_unconvertible(self): with self.assertRaises(TypeError): data_taggify(None)
def test_convert_str(self): self.assertEqual(data_taggify('hello'), StringDataTag('hello'))
def test_convert_list(self): self.assertEqual(data_taggify([]), ListDataTag([]))
def test_convert_int(self): self.assertEqual(data_taggify(123456789), IntDataTag(123456789))
def test_convert_double(self): self.assertEqual(data_taggify(123.5), DoubleDataTag(123.5))
def test_convert_bool(self): self.assertEqual(data_taggify(True), ByteDataTag(True))
def test_convert_data_tag(self): dt1 = data_taggify('hello') dt2 = data_taggify(dt1) self.assertEqual(dt1, dt2)
def insert(self, index, value): value = data_taggify(value) return self._value.insert(index, value)
def __setitem__(self, index, value): value = data_taggify(value) return self._value.__setitem__(index, value)
def __setitem__(self, key, value): key = str(key) value = data_taggify(value) return self._value.__setitem__(key, value)