Exemplo n.º 1
0
 def test_update_annotations(self):
     annotations = Annotations(finalized=True)
     updating_fancy_dict = FancyDict(key=1)
     updating_fancy_dict.annotate("key", annotations)
     base_fancy_dict = FancyDict()
     base_fancy_dict.update(updating_fancy_dict)
     assert base_fancy_dict.get_annotations("key").finalized
Exemplo n.º 2
0
 def test_set_condition(self):
     fancy_dict = FancyDict()
     fancy_dict["key"] = "value"
     fancy_dict["key_not_merging"] = "value"
     fancy_dict.annotate("key_not_merging",
                         Annotations(condition=lambda o, n: False))
     assert {"key": "value"} == FancyDict(fancy_dict)
Exemplo n.º 3
0
 def test_if_finalized_dont_update_annotations(self):
     fancy_dict = FancyDict(key=1)
     fancy_dict.annotate("key", finalized=True)
     update = FancyDict(key=2)
     update.annotate("key", finalized=False)
     fancy_dict.update(update)
     assert 1 == fancy_dict["key"]
Exemplo n.º 4
0
 def test_merge_method(self):
     base_dict = FancyDict()
     base_dict["counter"] = 1
     update_dict = FancyDict(counter=1)
     update_dict.annotate("counter", Annotations(merge_method=add))
     base_dict.update(update_dict)
     assert 2 == base_dict["counter"]
Exemplo n.º 5
0
    def test_create_annotations_from_keyword_arguments(self):
        fancy_dict = FancyDict(finalized=1)
        fancy_dict.annotate("finalized", finalized=True)
        fancy_dict.update(finalized=2)
        assert 1 == fancy_dict["finalized"]

        fancy_dict["key"] = "value"
        fancy_dict["key_not_merging"] = "value"
        fancy_dict.annotate("key_not_merging", condition=lambda o, n: False)
        assert "key_not_merging" not in FancyDict(fancy_dict)

        fancy_dict["counter"] = 1
        update_dict = FancyDict(counter=1)
        update_dict.annotate("counter", merge_method=add)
        fancy_dict.update(update_dict)
        assert 2 == fancy_dict["counter"]
Exemplo n.º 6
0
 def test_setitem_allow_change_even_if_finalized(self):
     fancy_dict = FancyDict(finalized=1)
     fancy_dict.annotate("finalized", Annotations(finalized=True))
     fancy_dict["finalized"] = 2
     assert 2 == fancy_dict["finalized"]
Exemplo n.º 7
0
 def test_dont_set_annotations_when_there_are_none(self):
     fancy_dict = FancyDict(key=1)
     fancy_dict.annotate("key", None)
     assert fancy_dict.get_annotations("key") is None
Exemplo n.º 8
0
 def test_update_existing_annotations(self):
     annotations = Annotations(finalized=True)
     fancy_dict = FancyDict(key=1)
     fancy_dict.annotate("key", annotations)
     fancy_dict.annotate("key", finalized=False)
     assert not annotations.finalized
Exemplo n.º 9
0
 def test_finalized(self):
     fancy_dict = FancyDict(finalized=1)
     fancy_dict.annotate("finalized", Annotations(finalized=True))
     fancy_dict.update(finalized=2)
     assert 1 == fancy_dict["finalized"]