-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathtest_basic_functions.py
More file actions
44 lines (37 loc) · 1.54 KB
/
Copy pathtest_basic_functions.py
File metadata and controls
44 lines (37 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import unittest
from basic_functions import add, subtract, multiply, divide, fizz_buzz, fibonacci, triangle
class TestBasicFunctions(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 3), 5)
self.assertEqual(add(-1, 1), 0)
self.assertEqual(add(-1, -1), -2)
def test_subtract(self):
self.assertEqual(subtract(5, 3), 2)
self.assertEqual(subtract(0, 0), 0)
self.assertEqual(subtract(-1, -1), 0)
def test_multiply(self):
self.assertEqual(multiply(4, 5), 20)
self.assertEqual(multiply(-1, 1), -1)
self.assertEqual(multiply(-2, -3), 6)
def test_divide(self):
self.assertEqual(divide(10, 2), 5)
self.assertEqual(divide(-6, 3), -2)
with self.assertRaises(ValueError):
divide(5, 0)
def test_fizz_buzz(self):
self.assertEqual(fizz_buzz(3), "Fizz")
self.assertEqual(fizz_buzz(5), "Buzz")
self.assertEqual(fizz_buzz(15), "FizzBuzz")
self.assertEqual(fizz_buzz(7), 7)
def test_fibonacci(self):
self.assertEqual(fibonacci(0), 0)
self.assertEqual(fibonacci(1), 1)
self.assertEqual(fibonacci(5), 5)
self.assertEqual(fibonacci(10), 55)
self.assertEqual(fibonacci(15), 610)
def test_triangle(self):
self.assertEqual(triangle(0), [])
self.assertEqual(triangle(1), ["*"])
self.assertEqual(triangle(2), ["*", "***"])
self.assertEqual(triangle(3), ["*", "***", "*****"])
self.assertEqual(triangle(4), ["*", "***", "*****", "*******"])