def testRetryCounter(self): pin = OwnerPIN(9, 6) pin.update([0,0,1,2,3,4,5,6,7,8,9,0], 3, 5) self.assertTrue(pin.check([0,0,1,2,3,4,5,6,7,8,9,0], 3, 5)) for i in range(9, 0, -1): self.assertEquals(i, pin.getTriesRemaining()) self.assertFalse(pin.check("0000", 0, 4)) for i in range(5): self.assertEquals(0, pin.getTriesRemaining()) self.assertFalse(pin.check("0000", 0, 4)) self.assertFalse(pin.check([0,0,1,2,3,4,5,6,7,8,9,0], 3, 5)) pin.resetAndUnblock() self.assertTrue(pin.check([0,0,1,2,3,4,5,6,7,8,9,0], 3, 5)) for i in range(9, 0, -1): self.assertEquals(i, pin.getTriesRemaining()) self.assertFalse(pin.check("0000", 0, 4)) for i in range(5): self.assertEquals(0, pin.getTriesRemaining()) self.assertFalse(pin.check("0000", 0, 4)) self.assertFalse(pin.check([0,0,1,2,3,4,5,6,7,8,9,0], 3, 5))