Exemple #1
0
class ImplementingAPIClass(object):
    API.implements(ArbAPI, ArbAPI2)
    def __init__(self, value1, value2):
        """APIs can have arbritrary initialization"""
        self.value1 = value1
        self.value2 = value2

    def i_support_api(self):
        return True

    def i_add_value(self):
        return self.value1 + self.value2
        class SlightlyDeceptive(with_metaclass(API.APIMeta, object)):
            API.implements(ArbAPI)

            def i_support_api(self, x):
                return True
 class LiarAndFraud(with_metaclass(API.APIMeta, object)):
     API.implements(ArbAPI)
        class TrueAndSimple(with_metaclass(API.APIMeta, object)):
            API.implements(ArbAPI3)

            def i_never_give_up(self):
                while True:
                    yield "bottles"
 def test_check_implementing(self):
     """checks the sample implementing class"""
     assert API.supports(ImplementingAPIClass, ArbAPI)
     assert API.supports(ImplementingAPIClass, ArbAPI2)
     assert API.supports(ImplementingAPIClass, ArbAPI, ArbAPI2)
     assert API.supports(ImplementingAPIClass)
     assert not API.supports(ImplementingAPIClass, ArbAPI3)
     assert not API.supports(ImplementingAPIClass, ArbAPI, ArbAPI3)
     x = ImplementingAPIClass(3, 4)
     assert API.supports(x, ArbAPI)
     assert API.supports(x, ArbAPI2)
     assert API.supports(x, ArbAPI, ArbAPI2)
     assert API.supports(x)
     assert not API.supports(x, ArbAPI3)
     assert not API.supports(x, ArbAPI, ArbAPI3)
     assert x.i_support_api()
     assert x.i_add_value() == 7
     assert not API.supports(ImplementingAPIClass, NotAnAPI)
 class Parent(object):
     API.implements(ArbAPI2)
Exemple #7
0
 class SlightlyDeceptive(object):
     __metaclass__ = API.APIMeta
     API.implements(ArbAPI)
     def i_support_api(self, x):
         return True
Exemple #8
0
 class LiarAndFraud(object):
     __metaclass__ = API.APIMeta
     API.implements(ArbAPI)
Exemple #9
0
 class TrueAndSimple(object):
     __metaclass__ = API.APIMeta
     API.implements(ArbAPI3)
     def i_never_give_up(self):
         while True:
             yield "bottles"
Exemple #10
0
 def test_check_implementing(self):
     """checks the sample implementing class"""
     assert API.supports(ImplementingAPIClass, ArbAPI)
     assert API.supports(ImplementingAPIClass, ArbAPI2)
     assert API.supports(ImplementingAPIClass, ArbAPI, ArbAPI2)
     assert API.supports(ImplementingAPIClass)
     assert not API.supports(ImplementingAPIClass, ArbAPI3)
     assert not API.supports(ImplementingAPIClass, ArbAPI, ArbAPI3)
     x = ImplementingAPIClass(3,4)
     assert API.supports(x, ArbAPI)
     assert API.supports(x, ArbAPI2)
     assert API.supports(x, ArbAPI, ArbAPI2)
     assert API.supports(x)
     assert not API.supports(x, ArbAPI3)
     assert not API.supports(x, ArbAPI, ArbAPI3)
     assert x.i_support_api()
     assert x.i_add_value() == 7