'Test the non-trig functions provided in calc.py
Specifically:
sqrt, log10, log2, ln, abs,
fact, factorial'

def test_other_functions(self):

    self.assert_function_values('sqrt', [0, 1, 2, 1024], [0, 1, 1.414, 32])
    self.assert_function_values('log10', [0.1, 1, 3.162, 1000000, '1+j'], [(-1), 0, 0.5, 6, (0.151 + 0.341j)])
    self.assert_function_values('log2', [0.5, 1, 1.414, 1024, '1+j'], [(-1), 0, 0.5, 10, (0.5 + 1.133j)])
    self.assert_function_values('ln', [0.368, 1, 1.649, 2.718, 42, '1+j'], [(-1), 0, 0.5, 1, 3.738, (0.347 + 0.785j)])
    self.assert_function_values('abs', [(-1), 0, 1, 'j'], [1, 0, 1, 1])
    fact_inputs = [0, 1, 3, 7]
    fact_values = [1, 1, 6, 5040]
    self.assert_function_values('fact', fact_inputs, fact_values)
    self.assert_function_values('factorial', fact_inputs, fact_values)
    self.assertRaises(ValueError, calc.evaluator, {}, {}, 'fact(-1)')
    self.assertRaises(ValueError, calc.evaluator, {}, {}, 'fact(0.5)')
    self.assertRaises(ValueError, calc.evaluator, {}, {}, 'factorial(-1)')
    self.assertRaises(ValueError, calc.evaluator, {}, {}, 'factorial(0.5)')
