def test_tostring(self): self.assertEqual(str(linear_function(0, 0)), 'f(x) = 0') self.assertEqual(str(linear_function(1, 0)), 'f(x) = 1x') self.assertEqual(str(linear_function(-1, 0)), 'f(x) = -1x') self.assertEqual(str(linear_function(5, 0)), 'f(x) = 5x') self.assertEqual(str(linear_function(0, 5)), 'f(x) = 5') self.assertEqual(str(linear_function(5, 5)), 'f(x) = 5x + 5') self.assertEqual(str(linear_function(-5, -5)), 'f(x) = -5x - 5')
def test_addition(self): function = linear_function(7, 9) self.assertEqual(function + function, function * 2)
def test_composition(self): first_function = linear_function(2, 2) second_function = linear_function(5, 5) self.assertEqual(linear_function(10, 12), first_function(second_function))
def test_substitution(self): function = linear_function(4, 5) self.assertEqual(function(0), function.b) self.assertEqual(function(1), function.k + function.b)