from june20 import *
import unittest
import math

class TestJun20(unittest.TestCase):
    def test_operators(self):
        #twice_if_odd
        self.assertEqual(twice_if_odd(6), 6)
        self.assertEqual(twice_if_odd(9), 18)
        self.assertEqual(twice_if_odd(3), 6)
        self.assertEqual(twice_if_odd(22), 22)

        #twice_if_odd, half_if_even
        self.assertEqual(twice_if_odd_half_if_even(6), 3)
        self.assertEqual(twice_if_odd_half_if_even(9), 18)
        self.assertEqual(twice_if_odd_half_if_even(3), 6)
        self.assertEqual(twice_if_odd_half_if_even(22), 11)

    def test_letter_grade(self):
        self.assertEqual(letter_grade(95), 'Grade is A')
        self.assertEqual(letter_grade(88), 'Grade is B')
        self.assertEqual(letter_grade(45), 'Grade is F')

    def test_isp_calculator(self):
        self.assertAlmostEqual(isp_calculator(1, 100), 100)
        self.assertAlmostEqual(isp_calculator(1, 101), 139.38)
        self.assertAlmostEqual(isp_calculator(1, 1501), 3002)
        self.assertAlmostEqual(isp_calculator(1, 750), 1140)

    def test_monus(self):
        self.assertEqual(monus(5, 4), 1)
        self.assertEqual(monus(6, 4), 2)
        self.assertEqual(monus(4, 6), 0)
        
if __name__ == '__main__':
    try:
        unittest.main()
    except SystemExit:
        pass
