def testCanDecrement(self):
     character = Character()
     # default of 8 cannot be decremented
     self.assertFalse(character.canDecrement(1))
     # decrementing gains 2 points for values between 14 and 16 up to a max of 27 points
     character.points = 25
     for i in range(14, 16):
         character.setStat(1, i)
         self.assertTrue(character.canDecrement(1))
     # decrementing gains 1 point for values between 9 and 13 up to a max of 27 points
     character.points = 26
     for i in range(9, 13):
         character.setStat(1, i)
         self.assertTrue(character.canDecrement(1))
 def testCanIncrement(self):
     character = Character()
     # default of 8 can be incremented
     self.assertTrue(character.canIncrement(1))
     # cannot increment a stat higher than 15
     character.setStat(1, 15)
     self.assertFalse(character.canIncrement(1))
     # incrementing costs 1 point for values below 13
     character.points = 1
     for i in range(8, 12):
         character.setStat(1, i)
         self.assertTrue(character.canIncrement(1))
     for i in range(13, 14):
         character.setStat(1, i)
         self.assertFalse(character.canIncrement(1))
     # incrementing costs 2 points for values between 13 and 14
     character.points = 2
     for i in range(13, 14):
         character.setStat(1, i)
         self.assertTrue(character.canIncrement(1))
 def testSetStat(self):
     character = Character()
     character.setStat(1, 10)
     self.assertEqual(10, character.getStat(1))