import numbers
import random

if __name__ == "__main__":
    ...

    try:
        first = random.randrange(-100, 200)
        second = random.randrange(20)
        print('first:', numbers.first)
        print('second:', numbers.second)
        print('gcd:', numbers.gcd(first, second))
        print('lcm:', numbers.lcm(first, second))
        print('is prime:\n\tfirst: {}\n\tsecond: {}'.format(
            numbers.is_prime(first), numbers.is_prime(second)))
        print('inverse:\n\tfirst: {:.4}\n\tsecond: {:.4}'.format(
            numbers.inverse(first), numbers.inverse(second)))
        print('root:', round(numbers.root(first, second), 4))

    except Exception as err:
        print('Error occured during execution:', err)
        print('Type:', type(err))
	def test_negative_number(self):
		"""Is a negative number correctly determined not to be prime?"""
		for index in range(-1, -10, -1):
			self.assertFalse(is_prime(index), msg='{0} should not be determined to be prime'.format(index))
	def test_is_four_non_prime(self):
		"""Is four correctly determined not to be primed?"""
		self.assertFalse(is_prime(4), msg='Four is not prime!')
	def test_is_zero_not_prime(self):
		"""Is zero correctly determined not to be primed?"""
		self.assertFalse(is_prime(0))
	def test_is_five_prime(self):
		"""Is five successfully determined to be prime?"""
		self.assertTrue(is_prime(5))