2013-08-02 09:21:50 -05:00
|
|
|
import unittest
|
|
|
|
|
|
2014-06-11 15:06:22 +02:00
|
|
|
from robot import Robot
|
2015-02-28 13:26:00 -06:00
|
|
|
import random
|
2014-06-11 15:06:22 +02:00
|
|
|
|
2014-02-22 10:55:33 +08:00
|
|
|
|
2013-08-02 09:21:50 -05:00
|
|
|
class RobotTest(unittest.TestCase):
|
2014-08-04 14:05:29 +02:00
|
|
|
name_re = r'^[A-Z]{2}\d{3}$'
|
2013-08-02 09:21:50 -05:00
|
|
|
|
|
|
|
|
def test_has_name(self):
|
|
|
|
|
self.assertRegexpMatches(Robot().name, self.name_re)
|
|
|
|
|
|
|
|
|
|
def test_name_sticks(self):
|
|
|
|
|
robot = Robot()
|
|
|
|
|
robot.name
|
|
|
|
|
self.assertEqual(robot.name, robot.name)
|
|
|
|
|
|
|
|
|
|
def test_different_robots_have_different_names(self):
|
|
|
|
|
self.assertNotEqual(
|
|
|
|
|
Robot().name,
|
|
|
|
|
Robot().name
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
def test_rest_name(self):
|
2015-02-28 13:26:00 -06:00
|
|
|
# Set a seed
|
|
|
|
|
seed = "Totally random."
|
|
|
|
|
|
|
|
|
|
# Initialize RNG using the seed
|
|
|
|
|
random.seed(seed)
|
|
|
|
|
|
|
|
|
|
# Call the generator
|
2013-08-02 09:21:50 -05:00
|
|
|
robot = Robot()
|
|
|
|
|
name = robot.name
|
2015-02-28 13:26:00 -06:00
|
|
|
|
|
|
|
|
# Reinitialize RNG using seed
|
|
|
|
|
random.seed(seed)
|
|
|
|
|
|
|
|
|
|
# Call the generator again
|
2013-08-02 09:21:50 -05:00
|
|
|
robot.reset()
|
|
|
|
|
name2 = robot.name
|
|
|
|
|
self.assertNotEqual(name, name2)
|
|
|
|
|
self.assertRegexpMatches(name2, self.name_re)
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
unittest.main()
|