'The most basic test case'

def test_hard_coded(self):

    be = self.be
    x0 = be.array((np.ones((3, 3)) * 1), name='x0', dtype=self.dtype)
    x1 = be.array((np.ones((3, 3)) * 2), name='x1', dtype=self.dtype)
    x2 = be.array((np.ones((3, 3)) * 3), name='x2', dtype=self.dtype)
    x3 = be.array((np.ones((3, 3)) * 5), name='x3', dtype=self.dtype)
    f = (((((x0 * x0) - (x1 * x0)) + (x0 * x2)) - ((x2 * x1) * x0)) + ((x3 * x3) * x3))
    ad = Autodiff(f, be)
    x0_grad = be.array((np.ones((3, 3)) * (-3)), dtype=self.dtype)
    x1_grad = be.array((np.ones((3, 3)) * (-4)), dtype=self.dtype)
    x2_grad = be.array((np.ones((3, 3)) * (-1)), dtype=self.dtype)
    x3_grad = be.array((np.ones((3, 3)) * 75), dtype=self.dtype)
    assert allclose_with_out(ad.get_grad_asnumpyarray([x0])[0], x0_grad.get(), atol=1e-05)
    assert allclose_with_out(ad.get_grad_asnumpyarray([x1])[0], x1_grad.get(), atol=1e-05)
    assert allclose_with_out(ad.get_grad_asnumpyarray([x2])[0], x2_grad.get(), atol=1e-05)
    assert allclose_with_out(ad.get_grad_asnumpyarray([x3])[0], x3_grad.get(), atol=1e-05)
