def testParallelAnim(self): def animStopped(): self.__endCalled = True def startAnim(): node0 = Player.getElementByID("mainimg") node1 = Player.getElementByID("test") node2 = Player.getElementByID("test1") self.anim = anim.ParallelAnim( [ anim.SplineAnim(node1, "x", 400, 0, 40, 0, 0), anim.EaseInOutAnim(node2, "x", 300, 129, 99, 100, 100) ], animStopped) self.anim.start() anim.init(avg) self.__endCalled = False Player.setFakeFPS(10) self.initDefaultImageScene() self.start(False, (startAnim, lambda: self.assertEqual(anim.getNumRunningAnims(), 2), lambda: self.assert_(not(self.anim.isDone())), lambda: self.compareImage("testParallelAnims1"), None, None, lambda: self.compareImage("testParallelAnims2"), lambda: self.assert_(self.anim.isDone()), lambda: self.assert_(self.__endCalled) ))
def testStateAnim(self): def state2Callback(): self.__state2CallbackCalled = True def makeAnim(): node = Player.getElementByID("test") self.anim = anim.StateAnim( {"STATE1": anim.LinearAnim(node, "x", 200, 64, 128), "STATE2": anim.LinearAnim(node, "x", 200, 128, 64), "STATE3": anim.WaitAnim()}, {"STATE1": anim.AnimTransition("STATE2", state2Callback), "STATE2": anim.AnimTransition("STATE3")}) anim.init(avg) Player.setFakeFPS(10) self.__state2CallbackCalled = False self.initDefaultImageScene() self.start(False, (makeAnim, lambda: self.compareImage("testStateAnim1"), lambda: self.anim.setState("STATE1"), None, lambda: self.compareImage("testStateAnim2"), lambda: self.anim.getState() == "STATE2", lambda: self.compareImage("testStateAnim3"), lambda: self.assert_(self.__state2CallbackCalled), lambda: self.anim.getState() == "STATE3", lambda: self.compareImage("testStateAnim4"), lambda: self.anim.setState("STATE1"), lambda: self.assertEqual(anim.getNumRunningAnims(), 1), lambda: self.compareImage("testStateAnim5") ))
def testAnimType(self, curAnim, imgBaseName): def onStop(): self.__onStopCalled = True def startAnim(): self.__onStopCalled = False node = Player.getElementByID("test") self.__anim.start() def startKeepAttr(): node = Player.getElementByID("test") node.x = 25 self.__anim.start(keepAttr=True) def abortAnim(): self.__anim.abort() self.__anim = curAnim self.__anim.setHandler(onStop, None) self.__onStopCalled = False Player.setFakeFPS(10) self.start(False, (startAnim, lambda: self.compareImage(imgBaseName+"1"), lambda: self.assertEqual(anim.getNumRunningAnims(), 1), None, None, lambda: self.assert_(self.__onStopCalled), lambda: self.assert_(self.__anim.isDone()), lambda: self.compareImage(imgBaseName+"2"), lambda: self.assertEqual(Player.getElementByID("test").x, 100), startAnim, lambda: self.compareImage(imgBaseName+"1"), abortAnim, lambda: self.assertEqual(anim.getNumRunningAnims(), 0), lambda: self.compareImage(imgBaseName+"3"), lambda: self.assert_(self.__anim.isDone()), None, lambda: self.assert_(not(self.__onStopCalled)), startAnim, startKeepAttr, lambda: self.assertEqual(anim.getNumRunningAnims(), 1), abortAnim )) self.__anim = None
def testLinearAnimZeroDuration(self): def onStop(): self.__onStopCalled = True def startAnim(): self.__onStopCalled = False node = Player.getElementByID("test") self.__anim.start() self.initDefaultImageScene() node = Player.getElementByID("test") self.__anim = anim.LinearAnim(node, "x", 0, 0, 100, False) self.__anim.setHandler(onStop, None) self.__onStopCalled = False Player.setFakeFPS(10) self.start(False, (startAnim, lambda: self.compareImage("testLinearAnimZeroDuration1"), lambda: self.assertEqual(anim.getNumRunningAnims(), 0), lambda: self.assert_(self.__onStopCalled), lambda: self.assert_(self.__anim.isDone()) )) self.__anim = None