Files
python/exercises/robot-name/robot_name_test.py

46 lines
1016 B
Python
Raw Normal View History

2013-08-02 09:21:50 -05:00
import unittest
from robot import Robot
import random
2014-02-22 10:55:33 +08:00
2013-08-02 09:21:50 -05:00
class RobotTest(unittest.TestCase):
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):
# 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
# 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()