~divmod-dev/divmod.org/trunk

« back to all changes in this revision

Viewing changes to Epsilon/epsilon/test/test_modes.py

  • Committer: Jean-Paul Calderone
  • Date: 2014-06-29 20:33:04 UTC
  • mfrom: (2749.1.1 remove-epsilon-1325289)
  • Revision ID: exarkun@twistedmatrix.com-20140629203304-gdkmbwl1suei4m97
mergeĀ lp:~exarkun/divmod.org/remove-epsilon-1325289

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
from twisted.trial import unittest
3
 
 
4
 
from epsilon.modal import mode, Modal
5
 
 
6
 
class ModalTestClass(Modal):
7
 
 
8
 
    modeAttribute = 'mode'
9
 
    initialMode = 'alpha'
10
 
 
11
 
    class alpha(mode):
12
 
        def one(self):
13
 
            return 'alpha-one'
14
 
        def two(self):
15
 
            return 'alpha-two'
16
 
 
17
 
    class beta(mode):
18
 
        def two(self):
19
 
            return 'beta-two'
20
 
        def three(self):
21
 
            return 'beta-three'
22
 
 
23
 
    def four(self):
24
 
        return 'unmode-four'
25
 
 
26
 
    class gamma(mode):
27
 
        def change(self):
28
 
            self.mode = 'delta'
29
 
            return self.change()
30
 
 
31
 
    class delta(mode):
32
 
        def change(self):
33
 
            return 'delta-change'
34
 
 
35
 
class ModalTestSubclass(ModalTestClass):
36
 
    pass
37
 
 
38
 
class ModalityTestCase(unittest.TestCase):
39
 
    modalFactory = ModalTestClass
40
 
    def testModalMethods(self):
41
 
        x = self.modalFactory()
42
 
        self.assertEquals(x.one(), 'alpha-one')
43
 
        self.assertEquals(x.two(), 'alpha-two')
44
 
        self.assertRaises(AttributeError, getattr, x, 'three')
45
 
        self.assertEquals(x.four(), 'unmode-four')
46
 
 
47
 
        x.mode = 'beta'
48
 
        self.assertRaises(AttributeError, getattr, x, 'one')
49
 
        self.assertEquals(x.two(), 'beta-two')
50
 
        self.assertEquals(x.three(), 'beta-three')
51
 
        self.assertEquals(x.four(), 'unmode-four')
52
 
 
53
 
    def testInternalModeChange(self):
54
 
        x = self.modalFactory()
55
 
        x.mode = 'gamma'
56
 
        self.assertEquals(x.change(), 'delta-change')
57
 
 
58
 
 
59
 
class MostBasicInheritanceTestCase(ModalityTestCase):
60
 
    modalFactory = ModalTestSubclass