Ejemplo n.º 1
0
    def test_get_value_indexable_object(self):
        class Test(object):
            def __init__(self, value):
                self.value = value

            def __getitem__(self, n):
                if type(n) is int:
                    if n < 3:
                        return n
                    raise IndexError
                raise TypeError

        obj = Test("hi")
        assert fields.get_value("value", obj) == "hi"
Ejemplo n.º 2
0
 def test_get_value_obj(self, mocker):
     assert fields.get_value("foo", mocker.Mock(foo=42)) == 42
Ejemplo n.º 3
0
 def test_get_value_int_indexable_nested_tuple(self):
     assert fields.get_value('bar.0.val', {'bar': [{'val': 42}]}) == 42
Ejemplo n.º 4
0
 def test_get_value_no_value(self):
     assert fields.get_value("foo", {"foo": 42}) == 42
Ejemplo n.º 5
0
 def test_get_value_int_indexable_tuple(self):
     assert fields.get_value('bar.0', {'bar': (42, 43)}) == 42
Ejemplo n.º 6
0
 def test_get_value_int_indexable_tuple_with_str(self):
     assert fields.get_value('bar.abc', {'bar': (42, 43)}) is None
Ejemplo n.º 7
0
 def test_get_value_int_indexable_list_with_str(self):
     assert fields.get_value('bar.abc', {'bar': [42]}) is None
Ejemplo n.º 8
0
 def test_get_value_int_indexable_list(self):
     assert fields.get_value('bar.0', {'bar': [42]}) == 42
Ejemplo n.º 9
0
 def test_get_value(self):
     assert fields.get_value('foo', {'foo': 42}) == 42