Skip to content

Instantly share code, notes, and snippets.

@giljr
Created March 23, 2020 22:31
Show Gist options
  • Save giljr/57ee5046a11954eb284292e225a8aa7b to your computer and use it in GitHub Desktop.
Save giljr/57ee5046a11954eb284292e225a8aa7b to your computer and use it in GitHub Desktop.
Testing Class - Unitest - for Car.py
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