Beispiel #1
0
    def test_derivation_slots (self):
        DerivedCondition = AbstractCondition.derive_type ('DerivedCondition')
        self.assertRaises (AttributeError,
                           self.non_existing_attribute_setter (DerivedCondition ()))

        DerivedCondition = AbstractStateTrackingCondition.derive_type ('DerivedCondition')
        self.assertRaises (AttributeError,
                           self.non_existing_attribute_setter (DerivedCondition (False)))

        DerivedCondition = Condition.derive_type ('DerivedCondition')
        self.assertRaises (AttributeError,
                           self.non_existing_attribute_setter (DerivedCondition (False)))
Beispiel #2
0
    def test_derivation_1(self):
        DerivedCondition = \
            AbstractStateTrackingCondition.derive_type ('DerivedCondition',
                                                        setter = lambda condition, state: None)

        condition = DerivedCondition(False)
        self.assert_(not condition.state)

        condition.set(True)
        self.assert_(condition.state)

        condition.state = False
        self.assert_(not condition.state)
Beispiel #3
0
    def test_derivation_1 (self):
        DerivedCondition = \
            AbstractStateTrackingCondition.derive_type ('DerivedCondition',
                                                        setter = lambda condition, state: None)

        condition = DerivedCondition (False)
        self.assert_(not condition.state)

        condition.set (True)
        self.assert_(condition.state)

        condition.state = False
        self.assert_(not condition.state)
Beispiel #4
0
    def test_derivation_3(self):
        test = NotifyTestObject()

        DerivedCondition = \
            AbstractStateTrackingCondition.derive_type ('DerivedCondition',
                                                        setter = (lambda condition, state:
                                                                      test.simple_handler (state)))

        condition = DerivedCondition(False)
        condition.set(True)
        condition.state = False

        # There is no getter at all, so setter must be called during condition creation.
        test.assert_results(False, True, False)
Beispiel #5
0
    def test_derivation_3 (self):
        test = NotifyTestObject ()

        DerivedCondition = \
            AbstractStateTrackingCondition.derive_type ('DerivedCondition',
                                                        setter = (lambda condition, state:
                                                                      test.simple_handler (state)))

        condition = DerivedCondition (False)
        condition.set (True)
        condition.state = False

        # There is no getter at all, so setter must be called during condition creation.
        test.assert_results (False, True, False)
Beispiel #6
0
    def test_derivation_slots(self):
        DerivedCondition = AbstractCondition.derive_type('DerivedCondition')
        self.assertRaises(
            AttributeError,
            self.non_existing_attribute_setter(DerivedCondition()))

        DerivedCondition = AbstractStateTrackingCondition.derive_type(
            'DerivedCondition')
        self.assertRaises(
            AttributeError,
            self.non_existing_attribute_setter(DerivedCondition(False)))

        DerivedCondition = Condition.derive_type('DerivedCondition')
        self.assertRaises(
            AttributeError,
            self.non_existing_attribute_setter(DerivedCondition(False)))
Beispiel #7
0
    def test_derivation_2(self):
        test = NotifyTestObject()

        DerivedCondition = \
            AbstractStateTrackingCondition.derive_type ('DerivedCondition',
                                                        getter = lambda condition: False,
                                                        setter = (lambda condition, state:
                                                                      test.simple_handler (state)))

        condition = DerivedCondition()
        condition.set(True)
        condition.state = False

        # The default state is retrieved with the getter function, so the setter must not
        # be called during condition creation.
        test.assert_results(True, False)
Beispiel #8
0
    def test_derivation_2 (self):
        test = NotifyTestObject ()

        DerivedCondition = \
            AbstractStateTrackingCondition.derive_type ('DerivedCondition',
                                                        getter = lambda condition: False,
                                                        setter = (lambda condition, state:
                                                                      test.simple_handler (state)))

        condition = DerivedCondition ()
        condition.set (True)
        condition.state = False

        # The default state is retrieved with the getter function, so the setter must not
        # be called during condition creation.
        test.assert_results (True, False)