Source code for openpyxl.utils.tests.test_bound_dictionary

from __future__ import absolute_import
# Copyright (c) 2010-2017 openpyxl

import pytest


@pytest.fixture
[docs]def BoundDictionary(): from .. bound_dictionary import BoundDictionary return BoundDictionary
@pytest.mark.parametrize("default", (None, int))
[docs]def test_ctor(BoundDictionary, default): bd = BoundDictionary("parent", default) assert bd.reference == "parent" assert bd.default_factory == default
[docs]def test_coupling(BoundDictionary): class Child: def __init__(self, parent, index=None): self.parent = parent self.index = index class Parent: def __init__(self): self.children = BoundDictionary("index", self._add_child) def _add_child(self): return Child(self) p = Parent() child = p.children['A'] assert child.parent == p assert child.index == 'A'