def test_value_number(self): try: json_in = resource_open("value-number.json") reader = json.read(json_in) self.assertTrue(reader.isnumber()) self.assertEqual(reader.value(), 176) finally: json_in.close()
def test_value_str(self): try: json_in = resource_open("value-str.json") reader = json.read(json_in) self.assertTrue(reader.isstr()) self.assertEqual(reader.value(), "abcD123\"aaa") finally: json_in.close()
def test_value_dict(self): try: json_in = resource_open("value-dict.json") reader = json.read(json_in) self.assertTrue(reader.isdict()) value = reader.value() self.assertEqual(value["key1"], "value1") self.assertEqual(value["key2"], "value2") self.assertEqual(value["key3"], "value3") finally: json_in.close()
def test_value_list(self): try: json_in = resource_open("value-list.json") reader = json.read(json_in) self.assertTrue(reader.islist()) value = reader.value() self.assertEqual(value[0], "value1") self.assertEqual(value[1], "value2") self.assertEqual(value[2], "value3") finally: json_in.close()
def test_stream_complex(self): try: json_in = resource_open("stream-complex.json") reader = json.read(json_in) self.assertTrue(reader.isdict()) for ra_i, (ra_k, ra_v) in enumerate(reader): if ra_i == 0: self.assertTrue(ra_v.isstr()) self.assertEqual(ra_k, "name") self.assertEqual(ra_v.value(), "complex") elif ra_i == 1: self.assertTrue(ra_v.isnumber()) self.assertEqual(ra_k, "complexity") self.assertEqual(ra_v.value(), 1) elif ra_i == 2: self.assertTrue(ra_v.islist()) self.assertEqual(ra_k, "items") for rb_i, rb in enumerate(ra_v): self.assertTrue(rb.isstr()) self.assertEqual(rb.value(), "item{}".format(rb_i + 1)) elif ra_i == 3: self.assertTrue(ra_v.isdict()) for rb_i, (rb_k, rb_v) in enumerate(ra_v): if rb_i == 0: self.assertTrue(rb_v.isstr()) self.assertEqual(rb_k, "type") self.assertEqual(rb_v.value(), "stream") elif rb_i == 1: self.assertTrue(rb_v.isnumber()) self.assertEqual(rb_k, "depth") self.assertEqual(rb_v.value(), 2) else: self.assertTrue(False) else: self.assertTrue(False) finally: json_in.close()