示例#1
0
    def test_decode_time_with_iso_str_value(self):
        expected = time(12, 40, 30)
        s = expected.isoformat()
        self.assertEqual(expected, Decoder().decode(s, time))

        expected = time(12, 40, 30, 800)
        s = expected.isoformat()
        self.assertEqual(expected, Decoder().decode(s, time))
示例#2
0
    def test_set_decoder_with_decoder_value(self):
        config = self._create_base_config()

        decoder = Decoder()
        config.decoder = decoder

        self.assertEqual(decoder, config.decoder)
示例#3
0
 def test_decode_datetime_with_datetime_value(self):
     d = datetime.now()
     self.assertEqual(d, Decoder().decode(d, datetime))
示例#4
0
 def test_decode_dict_with_int_value(self):
     with self.assertRaises(DecoderError):
         Decoder().decode(1, dict)
示例#5
0
 def test_get_instance(self):
     self.assertEqual(Decoder, type(Decoder.instance()))
     self.assertEqual(Decoder.instance(), Decoder.instance())
示例#6
0
 def test_decode_list_with_str_value(self):
     self.assertEqual(['1', '2', '3'], Decoder().decode('1,2,3', list))
示例#7
0
 def test_decode_list_with_list_value(self):
     self.assertEqual([1], Decoder().decode([1], list))
示例#8
0
 def test_decode_str_with_float_value(self):
     self.assertEqual('1.0', Decoder().decode(1.0, str))
示例#9
0
 def test_decode_int_with_float_value(self):
     self.assertEqual(1, Decoder().decode(1.0, float))
示例#10
0
 def test_decode_with_none_as_value(self):
     decoder = Decoder()
     self.assertRaises(ValueError, decoder.decode, None, str)
     self.assertRaises(ValueError, decoder.decode, 'aa', None)
示例#11
0
 def test_decode_time_with_str_value(self):
     with self.assertRaises(DecoderError):
         Decoder().decode('some value', time)
示例#12
0
 def test_decode_time_with_datetime_value(self):
     d = datetime(2017, 3, 8, 12, 40, 30)
     expected = time(12, 40, 30)
     self.assertEqual(expected, Decoder().decode(d, time))
示例#13
0
 def test_decode_time_with_time_value(self):
     expected = time(12, 40, 30)
     self.assertEqual(expected, Decoder().decode(expected, time))
示例#14
0
 def test_decode_datetime_with_iso_str_value(self):
     expected = datetime(2017, 3, 8, 12, 40, 30)
     s = expected.isoformat()
     self.assertEqual(expected, Decoder().decode(s, datetime))
示例#15
0
 def test_get_converters(self):
     self.assertEqual(dict, type(Decoder().converters))
示例#16
0
 def test_decode_float_with_dict_value(self):
     with self.assertRaises(DecoderError):
         Decoder().decode({}, float)
示例#17
0
 def test_decode_int_with_str_value(self):
     self.assertEqual(1, Decoder().decode('1', int))
示例#18
0
 def test_decode_with_invalid_cast(self):
     decoder = Decoder()
     self.assertRaises(DecoderError, decoder.decode, 'aa', 'invalid_cast')
示例#19
0
 def test_decode_str_with_int_value(self):
     self.assertEqual('1', Decoder().decode(1, str))
示例#20
0
 def test_decode_with_non_possible_cast(self):
     decoder = Decoder()
     with self.assertRaises(DecoderError):
         decoder.decode('aa', int)
示例#21
0
 def test_decode_str_with_dict_value(self):
     self.assertEqual('{}', Decoder().decode({}, str))
示例#22
0
 def test_decode_bool_with_bool_value(self):
     self.assertEqual(True, Decoder().decode(True, bool))
示例#23
0
 def test_decode_list_with_tuple_value(self):
     self.assertEqual([1], Decoder().decode((1,), list))
示例#24
0
 def test_decode_bool_with_true_values(self):
     for value in Decoder.true_values:
         self.assertEqual(True, Decoder().decode(value, bool))
示例#25
0
 def test_decode_dict_with_dict_value(self):
     self.assertEqual({'key': 1}, Decoder().decode({'key': 1}, dict))
示例#26
0
 def test_decode_bool_with_false_values(self):
     for value in Decoder.false_values:
         self.assertEqual(False, Decoder().decode(value, bool))
示例#27
0
 def test_decode_dict_with_str_value(self):
     self.assertEqual({'key1': '1', 'key2': '2'}, Decoder().decode('key1=1;key2=2', dict))
示例#28
0
 def test_decode_bool_with_dict_value(self):
     with self.assertRaises(DecoderError):
         Decoder().decode({}, bool)
示例#29
0
 def test_decode_date_with_date_value(self):
     d = date(2017, 3, 8)
     self.assertEqual(d, Decoder().decode(d, date))
示例#30
0
 def test_decode_float_with_str_value(self):
     self.assertEqual(1.0, Decoder().decode('1', float))