Created
March 23, 2020 22:31
-
-
Save giljr/57ee5046a11954eb284292e225a8aa7b to your computer and use it in GitHub Desktop.
Testing Class - Unitest - for Car.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import unittest | |
from Car import Car | |
class TestCar(unittest.TestCase): | |
def setUp(self): | |
self.car = Car() | |
class TestInit(TestCar): | |
def test_initial_speed(self): | |
self.assertEqual(self.car.speed, 0) | |
def test_initial_odometer(self): | |
self.assertEqual(self.car.odometer, 0) | |
def test_initial_time(self): | |
self.assertEqual(self.car.time, 0) | |
class TestAccelerate(TestCar): | |
def test_accelerate_from_zero(self): | |
self.car.accelerate() | |
self.assertEqual(self.car.speed, 5) | |
def test_multiple_accelerates(self): | |
for _ in range(3): | |
self.car.accelerate() | |
self.assertEqual(self.car.speed, 15) | |
class TestBrake(TestCar): | |
def test_brake_once(self): | |
self.car.accelerate() | |
self.car.brake() | |
self.assertEqual(self.car.speed, 0) | |
def test_multiple_brakes(self): | |
for _ in range(5): | |
self.car.accelerate() | |
for _ in range(3): | |
self.car.brake() | |
self.assertEqual(self.car.speed, 10) | |
def test_should_not_allow_negative_speed(self): | |
self.car.brake() | |
self.assertEqual(self.car.speed, 0) | |
def test_multiple_brakes_at_zero(self): | |
for _ in range(3): | |
self.car.brake() | |
self.assertEqual(self.car.speed, 0) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment