Example #1
0
    def test_delitem(self):
        with pytest.raises(NotImplementedError) as exc_info:
            del FrozenDict()['key']
        assert exc_info.value.args == ('FrozenDict.__delitem__',)

        with pytest.raises(NotImplementedError) as exc_info:
            FrozenDict().__delitem__('key')
        assert exc_info.value.args == ('FrozenDict.__delitem__',)
Example #2
0
 def test_pop(self):
     with pytest.raises(NotImplementedError) as exc_info:
         FrozenDict().pop('key')
     assert exc_info.value.args == ('FrozenDict.pop',)
Example #3
0
 def test_update(self):
     with pytest.raises(NotImplementedError) as exc_info:
         FrozenDict().update({})
     assert exc_info.value.args == ('FrozenDict.update',)
Example #4
0
 def test_clear(self):
     with pytest.raises(NotImplementedError) as exc_info:
         FrozenDict().clear()
     assert exc_info.value.args == ('FrozenDict.clear',)
Example #5
0
class TestFrozenDict(object):

    _frozendict_samples = [
        FrozenDict(),
        FrozenDict({'key': 'value'}),
        FrozenDict({'key': False}),
        FrozenDict({'key': None}),
        FrozenDict({'key': True}),
        FrozenDict({'key': FrozenDict({'foo': 'bar', 'key': 1})}),
    ]

    @pytest.mark.parametrize('frozendict', _frozendict_samples)
    def test_str(self, frozendict):
        assert str(frozendict) == 'FrozenDict({})'.format(dict(frozendict))

    @pytest.mark.parametrize('frozendict', _frozendict_samples)
    def test_repr(self, frozendict):
        assert repr(frozendict) == 'FrozenDict({})'.format(dict(frozendict))

    def test_setitem(self):
        with pytest.raises(NotImplementedError) as exc_info:
            FrozenDict()['key'] = 'value'
        assert exc_info.value.args == ('FrozenDict.__setitem__',)

        with pytest.raises(NotImplementedError) as exc_info:
            FrozenDict().__setitem__('key', 'value')
        assert exc_info.value.args == ('FrozenDict.__setitem__',)

    def test_delitem(self):
        with pytest.raises(NotImplementedError) as exc_info:
            del FrozenDict()['key']
        assert exc_info.value.args == ('FrozenDict.__delitem__',)

        with pytest.raises(NotImplementedError) as exc_info:
            FrozenDict().__delitem__('key')
        assert exc_info.value.args == ('FrozenDict.__delitem__',)

    def test_clear(self):
        with pytest.raises(NotImplementedError) as exc_info:
            FrozenDict().clear()
        assert exc_info.value.args == ('FrozenDict.clear',)

    def test_update(self):
        with pytest.raises(NotImplementedError) as exc_info:
            FrozenDict().update({})
        assert exc_info.value.args == ('FrozenDict.update',)

    def test_pop(self):
        with pytest.raises(NotImplementedError) as exc_info:
            FrozenDict().pop('key')
        assert exc_info.value.args == ('FrozenDict.pop',)

    def test_popitem(self):
        with pytest.raises(NotImplementedError) as exc_info:
            FrozenDict().popitem()
        assert exc_info.value.args == ('FrozenDict.popitem',)

    def test_setdefault(self):
        with pytest.raises(NotImplementedError) as exc_info:
            FrozenDict().setdefault('key', 'value')
        assert exc_info.value.args == ('FrozenDict.setdefault',)

    def test_copy(self):
        x = FrozenDict({'a': {}})
        assert isinstance(x.copy(), FrozenDict)
        assert x['a'] is x.copy()['a']

    def test_fromkeys(self):
        res = FrozenDict.fromkeys(['a'])
        assert isinstance(res, FrozenDict)
        assert res == FrozenDict({'a': None})
Example #6
0
 def test_fromkeys(self):
     res = FrozenDict.fromkeys(['a'])
     assert isinstance(res, FrozenDict)
     assert res == FrozenDict({'a': None})
Example #7
0
 def test_copy(self):
     x = FrozenDict({'a': {}})
     assert isinstance(x.copy(), FrozenDict)
     assert x['a'] is x.copy()['a']
Example #8
0
 def test_setdefault(self):
     with pytest.raises(NotImplementedError) as exc_info:
         FrozenDict().setdefault('key', 'value')
     assert exc_info.value.args == ('FrozenDict.setdefault',)