def test_derivative_setter_numpy_array(self): var1 = Variable(1.2, np.array([0, 2.1, 0])) var1.derivative = np.array([0, 0, 1]) self.assertTrue(all(var1.derivative == np.array([0, 0, 1]))) with self.assertRaises(TypeError) as e: var = Variable(10.2, np.array([[0], [2], [0]])) self.assertEqual( 'Input derivative seed should be an int, float, or a 1D numpy array of ints/floats.', str(e.exception)) with self.assertRaises(TypeError) as e: var = Variable(10.2, np.array([1.1, 2, "s"])) self.assertEqual( 'Input derivative seed array contains non int/float values', str(e.exception))
def test_derivative_setter_float_and_int(self): var1 = Variable(1.2, 1) var2 = Variable(1, 1.3) var1.derivative = 1.5 var2.derivative = 6