Skip to content

Add unit test examples #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions curriculum/assertAlmostEqual.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import unittest

def calculate_pi():
return 3.14159265358979323846

class TestCalculatePi(unittest.TestCase):
def test_calculate_pi(self):
result = calculate_pi()
self.assertAlmostEqual(result, 3.14, places=2)

if __name__ == '__main__':
unittest.main()
55 changes: 55 additions & 0 deletions curriculum/assertEqual.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import unittest


def add(a, b):
return a + b


def subtract(a, b):
return a - b


def multiplication(a, b):
return a * b


def division(a, b):
return a / b


def modulus(a, b):
return a % b


class TestAddition(unittest.TestCase):
def test_addition(self):
result = add(2, 4)
self.assertEqual(result, 6)


class TestSubtraction(unittest.TestCase):
def test_subtraction(self):
result = subtract(10, 2)
self.assertEqual(result, 8)


class TestMultiplication(unittest.TestCase):
def test_multiplication(self):
result = multiplication(5, 3)
self.assertEqual(result, 15)


class TestDivision(unittest.TestCase):
def test_division(self):
result = division(7, 2)
self.assertEqual(result, 3.5)


class TestModulus(unittest.TestCase):
def test_modulus(self):
result = modulus(10, 3)
self.assertEqual(result, 1)


if __name__ == '__main__':
unittest.main()
19 changes: 19 additions & 0 deletions curriculum/assertFalse.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import unittest


def is_negative(number):
return number < 0


class TestIsNegative(unittest.TestCase):
def test_negative_number(self):
result = is_negative(-8)
self.assertTrue(result, "-8 is a negative number")

def test_positive_number(self):
result = is_negative(5)
self.assertFalse(result, "8 is not a negative number")


if __name__ == '__main__':
unittest.main()
12 changes: 12 additions & 0 deletions curriculum/assertIn.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import unittest

def find_value(value, lst):
return value in lst

class TestFindValue(unittest.TestCase):
def test_find_value(self):
result = find_value(2, [1, 2, 3, 4, 5])
self.assertIn(result, [True, False])

if __name__ == '__main__':
unittest.main()
12 changes: 12 additions & 0 deletions curriculum/assertIs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import unittest

def return_list():
return []

class TestReturnList(unittest.TestCase):
def test_return_list(self):
result = return_list()
self.assertIs(result, [])

if __name__ == '__main__':
unittest.main()
12 changes: 12 additions & 0 deletions curriculum/assertIsNot.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import unittest

def return_list():
return []

class TestReturnList(unittest.TestCase):
def test_return_list(self):
result = return_list()
self.assertIsNot(result, [1, 2, 3])

if __name__ == '__main__':
unittest.main()
15 changes: 15 additions & 0 deletions curriculum/assertNotEqual.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import unittest


def compare_numbers(a, b):
return a != b


class TestCompareNumbers(unittest.TestCase):
def test_compare_numbers(self):
result = compare_numbers(10, 20)
self.assertNotEqual(result, False)


if __name__ == '__main__':
unittest.main()
12 changes: 12 additions & 0 deletions curriculum/assertNotIn.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import unittest

def find_value(value, lst):
return value in lst

class TestFindValue(unittest.TestCase):
def test_find_value(self):
result = find_value(0, [1, 2, 3, 4, 5])
self.assertNotIn(result, [True])

if __name__ == '__main__':
unittest.main()
19 changes: 19 additions & 0 deletions curriculum/assertTrue.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import unittest


def is_positive(number):
return number > 0


class TestIsPositive(unittest.TestCase):
def test_positive_number(self):
result = is_positive(7)
self.assertTrue(result, "7 is a positive number")

def test_negative_number(self):
result = is_positive(-7)
self.assertFalse(result, "-7 is not a positive number")


if __name__ == '__main__':
unittest.main()
17 changes: 17 additions & 0 deletions curriculum/unit-testing-framework.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<body>

<h3>Unit Testing Framework</h3>

<ol>
<li>assertEqual(a, b)</li>
<li>assertAlmostEqual(a, b)</li>
<li>assertNotEqual(a, b)</li>
<li>assertTrue(x)</li>
<li>assertFalse(x)</li>
<li>assertIs(a, b)</li>
<li>assertIsNot(a, b)</li>
<li>assertIn(a, b)</li>
<li>assertNotIn(a, b))</li>
</ol>

</body>