Exemple #1
0
 def test_box_list(self):
     new_list = BoxList({"item": x} for x in range(0, 10))
     new_list.extend([{"item": 22}])
     assert new_list[-1].item == 22
     new_list.append([{"bad_item": 33}])
     assert new_list[-1][0].bad_item == 33
     assert repr(new_list).startswith("<BoxList:")
     for x in new_list.to_list():
         assert not isinstance(x, (BoxList, Box))
     new_list.insert(0, {"test": 5})
     new_list.insert(1, ["a", "b"])
     new_list.append("x")
     assert new_list[0].test == 5
     assert isinstance(str(new_list), str)
     assert isinstance(new_list[1], BoxList)
     assert not isinstance(new_list.to_list(), BoxList)
Exemple #2
0
 def test_boxlist(self):
     new_list = BoxList({'item': x} for x in range(0, 10))
     new_list.extend([{'item': 22}])
     assert new_list[-1].item == 22
     new_list.append([{'bad_item': 33}])
     assert new_list[-1][0].bad_item == 33
     assert repr(new_list).startswith("<BoxList:")
     for x in new_list.to_list():
         assert not isinstance(x, (BoxList, Box, LightBox))
     new_list.insert(0, {'test': 5})
     new_list.insert(1, ['a', 'b'])
     new_list.append('x')
     assert new_list[0].test == 5
     assert isinstance(str(new_list), str)
     assert isinstance(new_list[1], BoxList)
     assert not isinstance(new_list.to_list(), BoxList)
Exemple #3
0
    def test_circular_references(self):
        circular_dict = {}
        circular_dict["a"] = circular_dict
        bx = Box(circular_dict)
        assert bx.a == {}
        circular_dict_2 = bx.to_dict()
        assert str(circular_dict_2) == "{'a': {}}"

        bx2 = Box(circular_dict, k=circular_dict)
        assert bx2.k.a == bx2.a

        bx.to_json()

        circular_list = []
        circular_list.append(circular_list)
        bl = BoxList(circular_list)
        assert bl == bl[0]
        assert isinstance(bl[0], BoxList)
        circular_list_2 = bl.to_list()
        assert circular_list_2 == circular_list_2[0]
        assert isinstance(circular_list_2, list)
Exemple #4
0
    def test_circular_references(self):
        circular_dict = {}
        circular_dict['a'] = circular_dict
        bx = Box(circular_dict)
        assert bx.a.a == bx.a
        circular_dict_2 = bx.a.a.a.to_dict()
        assert str(circular_dict_2) == "{'a': {...}}"

        bx2 = Box(circular_dict, k=circular_dict)
        assert bx2.k == bx2.a

        with pytest.raises(ValueError):
            bx.to_json()

        circular_list = []
        circular_list.append(circular_list)
        bl = BoxList(circular_list)
        assert bl == bl[0]
        assert isinstance(bl[0], BoxList)
        circular_list_2 = bl.to_list()
        assert circular_list_2 == circular_list_2[0]
        assert isinstance(circular_list_2, list)