Ran through Jeff Knopp’s `unittest`

tutorial, which I recommend. This post documents the code I ended up with.

This class–the one to be tested–is the same:

def is_prime(number):
"""
Is the provided number divisible by any number between two and itself?
"""
if number < 0:
return False
for element in range(2, number):
if number % element == 0:
return False
# number is not divisible by anything between 2 and itself
return True

The testing class, though, is different. Just tailored to my style:

import unittest
from prime_number_util import is_prime
class PrimesTestCase(unittest.TestCase):
"""
Tests for prime_number_util.is_prime()
"""
def test__prime_numbers__zero_through_seven(self):
"""
Testing all prime numbers, starting with zero, ending with seven.
"""
self.assert_is_prime(True, 0)
self.assert_is_prime(True, 1)
self.assert_is_prime(True, 2)
self.assert_is_prime(True, 3)
self.assert_is_prime(True, 5)
self.assert_is_prime(True, 7)
def test__non_prime_numbers__negative(self):
"""
Testing negative numbers, which are never prime.
"""
self.assert_is_prime(False, -500)
self.assert_is_prime(False, -5)
self.assert_is_prime(False, -1)
def test__non_prime_numbers__four_through_nine(self):
"""
Testing some positive prime numbers.
"""
self.assert_is_prime(False, 4)
self.assert_is_prime(False, 6)
self.assert_is_prime(False, 8)
self.assert_is_prime(False, 9)
def assert_is_prime(self, boolean_expected, number):
"""
Master function for is_prime testing.
"""
self.assertEqual(boolean_expected, is_prime(number))
if __name__ == '__main__':
unittest.main()

### Like this:

Like Loading...

*Related*