code: def check_forward(self, x_data, W_data, y_expected):
      x = chainer.Variable(x_data)
      if W_data is None:
          y = self.link(x)
          testing.assert_allclose(y_expected, y.data)
      else:
          W = chainer.Variable(W_data)
          y = self.link(x, W)
          testing.assert_allclose(y_expected, y.data)
  
imports: import unittest
  import numpy
  import chainer
  from chainer.backends import cuda
  from chainer import gradient_check
  from chainer import links
  from chainer import testing
  from chainer.testing import attr
  from chainer.testing import condition
label_desc: Use image node_id 3 for calling the TestScale obj's underlying member method code with example usage: obj.check_forward(x_data, W_data, y_expected) without return types