Skip to content

Commit 15167ec

Browse files
committed
Added Testing - Lab
1 parent 42f9c15 commit 15167ec

File tree

5 files changed

+241
-0
lines changed

5 files changed

+241
-0
lines changed

OOP/A.Testing/# TODO.txt

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
from unittest import TestCase, main
2+
# from worker import Worker
3+
4+
5+
class WorkerTests(TestCase):
6+
7+
def setUp(self):
8+
self.worker = Worker("test", 15, 25)
9+
10+
11+
def test_if_person_is_initialized_successfully(self):
12+
self.assertEqual("test", self.worker.name)
13+
self.assertEqual(15, self.worker.salary)
14+
self.assertEqual(25, self.worker.energy)
15+
self.assertEqual(0, self.worker.money)
16+
17+
18+
def test_successful_work(self):
19+
self.worker.work()
20+
self.assertEqual(15, self.worker.money)
21+
self.assertEqual(24, self.worker.energy)
22+
23+
def test_unsuccessful_work_not_enough_energy_exception(self):
24+
self.worker.energy = 0
25+
26+
with self.assertRaises(Exception) as ex:
27+
self.worker.work()
28+
29+
self.assertEqual("Not enough energy.", str(ex.exception))
30+
31+
def test_if_rest_method_increases_the_energy(self):
32+
self.worker.rest()
33+
self.assertEqual(26, self.worker.energy)
34+
35+
def test_get_info_string_return(self):
36+
self.assertEqual(f'test has saved 0 money.', self.worker.get_info())
37+
38+
39+
if __name__ == '__main__':
40+
main()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
from unittest import TestCase, main
2+
# from cat import Cat
3+
4+
5+
class CatTests(TestCase):
6+
7+
def setUp(self):
8+
self.cat = Cat("Citty")
9+
10+
def test_successful_initial(self):
11+
self.assertEqual("Citty", self.cat.name)
12+
self.assertEqual(False, self.cat.fed)
13+
self.assertEqual(False, self.cat.sleepy)
14+
self.assertEqual(0, self.cat.size)
15+
16+
def test_unsuccessful_eat_raises_exception(self):
17+
self.cat.fed = True
18+
19+
with self.assertRaises(Exception) as ex:
20+
self.cat.eat()
21+
22+
self.assertEqual('Already fed.', str(ex.exception))
23+
24+
def test_if_cat_size_increases_after_eating(self):
25+
self.cat.eat()
26+
self.assertEqual(1, self.cat.size)
27+
self.assertEqual(True, self.cat.fed)
28+
self.assertEqual(True, self.cat.sleepy)
29+
30+
def test_unsuccessful_sleep_not_fed_raises_exception(self):
31+
with self.assertRaises(Exception) as ex:
32+
self.cat.sleep()
33+
34+
self.assertEqual('Cannot sleep while hungry', str(ex.exception))
35+
36+
def test_cat_is_not_sleepy_after_sleeping(self):
37+
self.cat.sleepy = True
38+
self.cat.fed = True
39+
self.cat.sleep()
40+
self.assertEqual(False, self.cat.sleepy)
41+
42+
43+
if __name__ == '__main__':
44+
main()
+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
from unittest import TestCase, main
2+
3+
# from list import IntegerList
4+
5+
6+
class TestGunitSquad(TestCase):
7+
8+
def setUp(self):
9+
self.list = IntegerList(1, 2, 3, "top", 2.2, False, ())
10+
11+
def test_successful_initial(self):
12+
self.assertEqual([1, 2, 3], self.list._IntegerList__data)
13+
14+
def test_successful_get_data(self):
15+
self.assertEqual([1, 2, 3], self.list.get_data())
16+
17+
def test_unsuccessful_add_raise_value_error(self):
18+
with self.assertRaises(ValueError) as ve:
19+
self.list.add("TOP THAT")
20+
21+
self.assertEqual("Element is not Integer", str(ve.exception))
22+
23+
def test_successful_add_to_list(self):
24+
self.list.add(66)
25+
self.assertEqual([1, 2, 3, 66], self.list.get_data())
26+
# self.assertEqual([1,2,3,66], self.list._IntegerList__data)
27+
28+
def test_unsuccessful_remove_index_raise_index_error(self):
29+
with self.assertRaises(IndexError) as ie:
30+
self.list.remove_index(10)
31+
32+
self.assertEqual("Index is out of range", str(ie.exception))
33+
34+
def test_successful_remove_index_from_list(self):
35+
result = self.list.remove_index(0)
36+
self.assertEqual(1, result)
37+
self.assertEqual([2, 3], self.list._IntegerList__data)
38+
39+
def test_unsuccessful_get_raise_index_error(self):
40+
with self.assertRaises(IndexError) as ie:
41+
self.list.get(10)
42+
43+
self.assertEqual("Index is out of range", str(ie.exception))
44+
45+
def test_successful_get_item_from_list_by_index(self):
46+
result = self.list.get(0)
47+
48+
self.assertEqual(1, result)
49+
self.assertEqual(1, self.list._IntegerList__data[0])
50+
51+
def test_unsuccessful_insert_raise_index_error(self):
52+
with self.assertRaises(IndexError) as ie:
53+
self.list.insert(3, 4)
54+
55+
self.assertEqual("Index is out of range", str(ie.exception))
56+
57+
def test_unsuccessful_insert_with_wrong_element_raise_value_error(self):
58+
with self.assertRaises(ValueError) as ve:
59+
self.list.insert(0, "1")
60+
61+
self.assertEqual("Element is not Integer", str(ve.exception))
62+
63+
def test_successful_insert_element_in_list(self):
64+
self.list.insert(0, 10)
65+
66+
self.assertEqual([10, 1, 2, 3], self.list._IntegerList__data)
67+
68+
def test_successful_get_biggest_element_in_list(self):
69+
result = self.list.get_biggest()
70+
self.assertEqual(3, result)
71+
72+
def test_successful_get_index_element_in_list(self):
73+
result = self.list.get_index(3)
74+
self.assertEqual(2, result)
75+
76+
77+
if __name__ == "__main__":
78+
main()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
from unittest import TestCase, main
2+
3+
# from car import Car
4+
5+
6+
class TestGunitSquad(TestCase):
7+
8+
def setUp(self):
9+
self.car = Car("KR", "CHEVY", 5, 51)
10+
11+
def test_successful_initialization(self):
12+
self.assertEqual("KR", self.car.make)
13+
self.assertEqual("CHEVY", self.car.model)
14+
self.assertEqual(5, self.car.fuel_consumption)
15+
self.assertEqual(51, self.car.fuel_capacity)
16+
self.assertEqual(0, self.car.fuel_amount)
17+
18+
def test_unsuccessful_make_attribute_raise_exception(self):
19+
with self.assertRaises(Exception) as ex:
20+
self.car.make = ""
21+
22+
self.assertEqual("Make cannot be null or empty!", str(ex.exception))
23+
24+
def test_unsuccessful_model_attribute_raise_exception(self):
25+
with self.assertRaises(Exception) as ex:
26+
self.car.model = ""
27+
28+
self.assertEqual("Model cannot be null or empty!", str(ex.exception))
29+
30+
def test_unsuccessful_fuel_consumption_attribute_raise_exception(self):
31+
with self.assertRaises(Exception) as ex:
32+
self.car.fuel_consumption = 0
33+
34+
self.assertEqual("Fuel consumption cannot be zero or negative!", str(ex.exception))
35+
36+
def test_unsuccessful_fuel_capacity_attribute_raise_exception(self):
37+
with self.assertRaises(Exception) as ex:
38+
self.car.fuel_capacity = 0
39+
40+
self.assertEqual("Fuel capacity cannot be zero or negative!", str(ex.exception))
41+
42+
def test_unsuccessful_fuel_amount_attribute_raise_exception(self):
43+
with self.assertRaises(Exception) as ex:
44+
self.car.fuel_amount = -1
45+
46+
self.assertEqual("Fuel amount cannot be negative!", str(ex.exception))
47+
48+
def test_unsuccessful_refuel_raise_exception(self):
49+
with self.assertRaises(Exception) as ex:
50+
self.car.refuel(0)
51+
52+
self.assertEqual("Fuel amount cannot be zero or negative!", str(ex.exception))
53+
54+
def test_successful_refuel(self):
55+
self.car.refuel(10)
56+
self.assertEqual(10, self.car.fuel_amount)
57+
58+
def test_successful_refuel_with_over_the_limit(self):
59+
amount = 1000
60+
self.car.refuel(amount)
61+
self.assertTrue(amount > self.car.fuel_capacity)
62+
self.assertEqual(51, self.car.fuel_capacity)
63+
64+
def test_unsuccessful_drive_raise_exception(self):
65+
distance = 1000
66+
with self.assertRaises(Exception) as ex:
67+
self.car.drive(distance)
68+
69+
self.assertTrue(distance > self.car.fuel_amount)
70+
self.assertEqual("You don't have enough fuel to drive!", str(ex.exception))
71+
72+
def test_successful_drive(self):
73+
self.car.fuel_amount = 51
74+
self.car.drive(100)
75+
self.assertEqual(46, self.car.fuel_amount)
76+
77+
78+
if __name__ == "__main__":
79+
main()

0 commit comments

Comments
 (0)