@@ -0,0 +1,1203 @@
+from unittest import TestCase%0Aimport numpy%0Afrom chainer import cuda, Variable%0Afrom chainer.gradient_check import assert_allclose, numerical_grad%0Afrom chainer.functions import Parameter%0A%0Acuda.init()%0A%0Aclass TestParameter(TestCase):%0A    def setUp(self):%0A        self.W  = numpy.random.uniform(-1, 1, (4, 3)).astype(numpy.float32)%0A        self.gW = numpy.random.uniform(-1, 1, self.W.shape).astype(numpy.float32)%0A        self.func = Parameter(self.W)%0A%0A    def tearDown(self):%0A        del self.func%0A%0A    def to_gpu(self):%0A        self.func.to_gpu()%0A%0A    def check_forward(self):%0A        y = self.func()%0A        self.assertTrue((self.W == cuda.to_cpu(y.data)).all())%0A%0A    def test_forward_cpu(self):%0A        self.check_forward()%0A%0A    def test_forward_gpu(self):%0A        self.to_gpu()%0A        self.check_forward()%0A%0A    def check_backward(self, y_grad):%0A        self.func.gW.fill(0)%0A        y = self.func()%0A        y.grad = y_grad%0A        y.backward()%0A        self.assertTrue((cuda.to_cpu(y_grad) == cuda.to_cpu(self.func.gW)).all())%0A%0A    def test_backward_cpu(self):%0A        self.check_backward(self.gW)%0A%0A    def test_backward_gpu(self):%0A        self.to_gpu()%0A        self.check_backward(cuda.to_gpu(self.gW))%0A

Add parameter test