コード例 #1
0
ファイル: test_registry.py プロジェクト: Mitchell-boop/gaphor
def test_two_axes():
    registry: Registry[Union[str, object]] = Registry(("type", TypeAxis()),
                                                      ("name", SimpleAxis()))

    target1 = "one"
    registry.register(target1, object)

    target2 = "two"
    registry.register(target2, DummyA)

    target3 = "three"
    registry.register(target3, DummyA, "foo")

    context1 = object()
    assert registry.lookup(context1) == target1

    context2 = DummyB()
    assert registry.lookup(context2) == target2
    assert registry.lookup(context2, "foo") == target3

    target4 = object()
    registry.register(target4, DummyB)

    assert registry.lookup(context2) == target4
    assert registry.lookup(context2, "foo") == target3
コード例 #2
0
def test_get_registration():
    registry = Registry(("type", TypeAxis()), ("name", SimpleAxis()))
    registry.register("one", object)
    registry.register("two", DummyA, "foo")
    assert registry.get_registration(object) == "one"
    assert registry.get_registration(DummyA, "foo") == "two"
    assert registry.get_registration(object, "foo") is None
    assert registry.get_registration(DummyA) is None
コード例 #3
0
ファイル: test_registry.py プロジェクト: paulopperman/gaphor
 def test_get_registration(self):
     registry = Registry(("type", TypeAxis()), ("name", SimpleAxis()))
     registry.register("one", object)
     registry.register("two", DummyA, "foo")
     self.assertEqual(registry.get_registration(object), "one")
     self.assertEqual(registry.get_registration(DummyA, "foo"), "two")
     self.assertEqual(registry.get_registration(object, "foo"), None)
     self.assertEqual(registry.get_registration(DummyA), None)
コード例 #4
0
    def __init__(self, argspec, params_arity):
        """ Initialize dispatcher with ``argspec`` of type
        :class:`inspect.ArgSpec` and ``params_arity`` that represent number
        params."""
        # Check if we have enough positional arguments for number of type params
        if _arity(argspec) < params_arity:
            raise TypeError("Not enough positional arguments "
                            "for number of type parameters provided.")

        self.argspec = argspec
        self.params_arity = params_arity

        axis = [("arg_%d" % n, TypeAxis()) for n in range(params_arity)]
        self.registry = Registry(*axis)
コード例 #5
0
def test_subtyping_on_axes():
    registry = Registry(("type", TypeAxis()))

    target1 = "one"
    registry.register(target1, object)

    target2 = "two"
    registry.register(target2, DummyA)

    target3 = "three"
    registry.register(target3, DummyB)

    assert registry.lookup(object()) == target1
    assert registry.lookup(DummyA()) == target2
    assert registry.lookup(DummyB()) == target3
コード例 #6
0
ファイル: test_registry.py プロジェクト: paulopperman/gaphor
    def test_subtyping_on_axes(self):
        registry = Registry(("type", TypeAxis()))

        target1 = "one"
        registry.register(target1, object)

        target2 = "two"
        registry.register(target2, DummyA)

        target3 = "three"
        registry.register(target3, DummyB)

        self.assertEqual(registry.lookup(object()), target1)
        self.assertEqual(registry.lookup(DummyA()), target2)
        self.assertEqual(registry.lookup(DummyB()), target3)
コード例 #7
0
def test_query_subtyping_on_axes():
    registry = Registry(("type", TypeAxis()))

    target1 = "one"
    registry.register(target1, object)

    target2 = "two"
    registry.register(target2, DummyA)

    target3 = "three"
    registry.register(target3, DummyB)

    target4 = "four"
    registry.register(target4, int)

    assert list(registry.query(object())) == [target1]
    assert list(registry.query(DummyA())) == [target2, target1]
    assert list(registry.query(DummyB())) == [target3, target2, target1]
    assert list(registry.query(3)) == [target4, target1]
コード例 #8
0
ファイル: test_registry.py プロジェクト: paulopperman/gaphor
    def test_two_axes(self):
        registry = Registry(("type", TypeAxis()), ("name", SimpleAxis()))

        target1 = "one"
        registry.register(target1, object)

        target2 = "two"
        registry.register(target2, DummyA)

        target3 = "three"
        registry.register(target3, DummyA, "foo")

        context1 = object()
        self.assertEqual(registry.lookup(context1), target1)

        context2 = DummyB()
        self.assertEqual(registry.lookup(context2), target2)
        self.assertEqual(registry.lookup(context2, "foo"), target3)

        target4 = object()
        registry.register(target4, DummyB)

        self.assertEqual(registry.lookup(context2), target4)
        self.assertEqual(registry.lookup(context2, "foo"), target3)
コード例 #9
0
ファイル: event.py プロジェクト: przor3n/gaphor
 def __init__(self):
     axes = (("event_type", TypeAxis()), )
     self.registry = Registry(*axes)
コード例 #10
0
ファイル: event.py プロジェクト: Mitchell-boop/gaphor
 def __init__(self) -> None:
     axes = (("event_type", TypeAxis()), )
     self.registry = Registry[HandlerSet](*axes)