def test_encode(self): self.assertEqual(TextField(None).json_encode(), "null") self.assertEqual(IntegerField(None).json_encode(), "null") self.assertEqual(FloatField(None).json_encode(), "null") self.assertEqual(BooleanField(None).json_encode(), "null") self.assertEqual(NestedField(None).json_encode(), "{}") self.assertEqual(ListObjTest(None).json_encode(), "[]")
def test_decode(self): t = TextField(None) t.json_decode("null") self.assertEqual(t.value, None) t = IntegerField(None) t.json_decode("null") self.assertEqual(t.value, None) t = FloatField(None) t.json_decode("null") self.assertEqual(t.value, None) t = BooleanField(None) t.json_decode("null") self.assertEqual(t.value, None) t = NestedField(None) t.json_decode("null") self.assertEqual(t.value, {}) t = ListObjTest(None) t.json_decode("null") self.assertEqual(t.value, [])
class ForbiddenRequiredTest(NestedField): required = TextField()
def test_value(self): self.assertEqual(TextField(None).value, None) self.assertEqual(IntegerField(None).value, None) self.assertEqual(FloatField(None).value, None) self.assertEqual(NestedField(None).value, {}) self.assertEqual(len(ListObjTest(None)), 0)
class ForbiddenValueTest(NestedField): value = TextField()
class ForbiddenNameTest(NestedField): name = TextField()
class NestedObjTest(NestedField): id = IntegerField() key = IntegerField(name='clave') valor = TextField(name='value')
def test_encode(self): self.assertEqual(TextField("aBc").json_encode(), '"aBc"') self.assertEqual(TextField("5").json_encode(), '"5"') self.assertEqual(TextField(None).json_encode(), 'null')
def test_init(self): self.assertEqual(TextField('''"aBc"''').value, '''"aBc"''') self.assertEqual(TextField("5").value, "5") self.assertRaises(ParseException, TextField.__init__, TextField(), 5)