Sha256: b65dfa0a23c4f2c0c9b20b4c6a294dbf9b0ce6d9ea86faa0065fc40f4e173613

Contents?: true

Size: 1.2 KB

Versions: 250

Compression:

Stored size: 1.2 KB

Contents

import unittest
import random

from robot_name import Robot


class RobotTest(unittest.TestCase):
    # assertRegex() alias to adress DeprecationWarning
    # assertRegexpMatches got renamed in version 3.2
    if not hasattr(unittest.TestCase, "assertRegex"):
        assertRegex = unittest.TestCase.assertRegexpMatches

    name_re = r'^[A-Z]{2}\d{3}$'

    def test_has_name(self):
        self.assertRegex(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_reset_name(self):
        # Set a seed
        seed = "Totally random."

        # Initialize RNG using the seed
        random.seed(seed)

        # Call the generator
        robot = Robot()
        name = robot.name

        # Reinitialize RNG using seed
        random.seed(seed)

        # Call the generator again
        robot.reset()
        name2 = robot.name
        self.assertNotEqual(name, name2)
        self.assertRegex(name2, self.name_re)


if __name__ == '__main__':
    unittest.main()

Version data entries

250 entries across 250 versions & 1 rubygems

Version Path
trackler-2.2.1.160 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.159 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.158 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.157 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.156 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.155 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.154 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.153 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.152 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.151 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.150 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.149 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.148 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.147 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.146 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.145 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.144 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.143 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.142 tracks/python/exercises/robot-name/robot_name_test.py
trackler-2.2.1.141 tracks/python/exercises/robot-name/robot_name_test.py