Created new unittest model.
Separete unittest for module.
Only run unittest for compiled modules.
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>,
Luciano Wolf <luciano.wolf@openbossa.org>
This commit is contained in:
parent
471486732b
commit
ab918abc1e
211 changed files with 241 additions and 79 deletions
156
tests/QtCore/qabstracttransition_test.py
Normal file
156
tests/QtCore/qabstracttransition_test.py
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
#!/usr/bin/python
|
||||
import unittest
|
||||
from sys import getrefcount
|
||||
from PySide.QtCore import QObject, SIGNAL, QCoreApplication, QTimer, QVariant
|
||||
from PySide.QtCore import QState, QFinalState, QStateMachine, QParallelAnimationGroup, QEventTransition
|
||||
|
||||
def addStates(transition):
|
||||
sx = QState()
|
||||
sy = QState()
|
||||
transition.setTargetStates([sx, sy])
|
||||
|
||||
def addAnimation(transition):
|
||||
animation = QParallelAnimationGroup()
|
||||
transition.addAnimation(animation)
|
||||
|
||||
class QAbstractTransitionTest(unittest.TestCase):
|
||||
|
||||
def testBasic(self):
|
||||
app = QCoreApplication([])
|
||||
|
||||
o = QObject()
|
||||
o.setProperty("text", QVariant("INdT"))
|
||||
|
||||
machine = QStateMachine()
|
||||
s1 = QState()
|
||||
s1.assignProperty(o, "text", QVariant("Rocks"))
|
||||
|
||||
s2 = QFinalState()
|
||||
t = s1.addTransition(o, SIGNAL("change()"), s2)
|
||||
|
||||
self.assertEqual(t.targetStates(), [s2])
|
||||
|
||||
addStates(t)
|
||||
self.assertEqual(len(t.targetStates()), 2)
|
||||
|
||||
animation = QParallelAnimationGroup()
|
||||
t.addAnimation(animation)
|
||||
|
||||
self.assertEqual(t.animations(), [animation])
|
||||
|
||||
addAnimation(t)
|
||||
self.assertEqual(t.animations()[0].parent(), None)
|
||||
|
||||
machine.addState(s1)
|
||||
machine.addState(s2)
|
||||
machine.setInitialState(s1)
|
||||
machine.start()
|
||||
|
||||
QTimer.singleShot(100, app.quit)
|
||||
app.exec_()
|
||||
|
||||
def testRefCountOfTargetState(self):
|
||||
transition = QEventTransition()
|
||||
state1 = QState()
|
||||
refcount1 = getrefcount(state1)
|
||||
|
||||
transition.setTargetState(state1)
|
||||
|
||||
self.assertEqual(transition.targetState(), state1)
|
||||
self.assertEqual(getrefcount(transition.targetState()), refcount1 + 1)
|
||||
|
||||
state2 = QState()
|
||||
refcount2 = getrefcount(state2)
|
||||
|
||||
transition.setTargetState(state2)
|
||||
|
||||
self.assertEqual(transition.targetState(), state2)
|
||||
self.assertEqual(getrefcount(transition.targetState()), refcount2 + 1)
|
||||
self.assertEqual(getrefcount(state1), refcount1)
|
||||
|
||||
del transition
|
||||
|
||||
self.assertEqual(getrefcount(state2), refcount2)
|
||||
|
||||
def testRefCountOfTargetStates(self):
|
||||
transition = QEventTransition()
|
||||
state1 = QState()
|
||||
state2 = QState()
|
||||
states = [state1, state2]
|
||||
refcount1 = getrefcount(state1)
|
||||
refcount2 = getrefcount(state2)
|
||||
|
||||
transition.setTargetStates(states)
|
||||
|
||||
self.assertEqual(transition.targetStates(), states)
|
||||
self.assertEqual(transition.targetState(), state1)
|
||||
self.assertEqual(getrefcount(transition.targetStates()[0]), refcount1 + 1)
|
||||
self.assertEqual(getrefcount(transition.targetStates()[1]), refcount2 + 1)
|
||||
|
||||
del states
|
||||
del transition
|
||||
|
||||
self.assertEqual(getrefcount(state1), refcount1)
|
||||
self.assertEqual(getrefcount(state2), refcount2)
|
||||
|
||||
def testRefCountOfTargetStatesAfterSingleTargetState(self):
|
||||
transition = QEventTransition()
|
||||
state0 = QState()
|
||||
refcount0 = getrefcount(state0)
|
||||
|
||||
transition.setTargetState(state0)
|
||||
|
||||
self.assertEqual(transition.targetState(), state0)
|
||||
self.assertEqual(getrefcount(transition.targetState()), refcount0 + 1)
|
||||
|
||||
state1 = QState()
|
||||
state2 = QState()
|
||||
states = [state1, state2]
|
||||
refcount1 = getrefcount(state1)
|
||||
refcount2 = getrefcount(state2)
|
||||
|
||||
transition.setTargetStates(states)
|
||||
|
||||
self.assertEqual(getrefcount(state0), refcount0)
|
||||
self.assertEqual(transition.targetStates(), states)
|
||||
self.assertEqual(transition.targetState(), state1)
|
||||
self.assertEqual(getrefcount(transition.targetStates()[0]), refcount1 + 1)
|
||||
self.assertEqual(getrefcount(transition.targetStates()[1]), refcount2 + 1)
|
||||
|
||||
del states
|
||||
del transition
|
||||
|
||||
self.assertEqual(getrefcount(state1), refcount1)
|
||||
self.assertEqual(getrefcount(state2), refcount2)
|
||||
|
||||
def testRefCountOfTargetStatesBeforeSingleTargetState(self):
|
||||
transition = QEventTransition()
|
||||
state1 = QState()
|
||||
state2 = QState()
|
||||
states = [state1, state2]
|
||||
refcount1 = getrefcount(state1)
|
||||
refcount2 = getrefcount(state2)
|
||||
|
||||
transition.setTargetStates(states)
|
||||
|
||||
self.assertEqual(transition.targetStates(), states)
|
||||
self.assertEqual(transition.targetState(), state1)
|
||||
self.assertEqual(getrefcount(transition.targetStates()[0]), refcount1 + 1)
|
||||
self.assertEqual(getrefcount(transition.targetStates()[1]), refcount2 + 1)
|
||||
|
||||
state3 = QState()
|
||||
refcount3 = getrefcount(state3)
|
||||
|
||||
transition.setTargetState(state3)
|
||||
|
||||
self.assertEqual(transition.targetState(), state3)
|
||||
self.assertEqual(getrefcount(transition.targetState()), refcount3 + 1)
|
||||
|
||||
del states
|
||||
|
||||
self.assertEqual(getrefcount(state1), refcount1)
|
||||
self.assertEqual(getrefcount(state2), refcount2)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue