code: def check_forward(self, c_data, h_data, x_data):
      x = chainer.Variable(x_data)
  
      h1 = self.link(x)
      c1 = self.link.c
      c1_expect, h1_expect = _zoneoutlstm(
          self.link, c_data, h_data, x_data, c1.creator, h1.creator
      )
      testing.assert_allclose(h1.data, h1_expect)
      testing.assert_allclose(self.link.c.data, c1_expect)
      testing.assert_allclose(self.link.h.data, h1_expect)
  
      h2 = self.link(x)
      c2 = self.link.c
      c2_expect, h2_expect = _zoneoutlstm(
          self.link,
          c1_expect,
          h1_expect,
          x_data,
          c2.creator,
          h2.creator,
      )
  
      testing.assert_allclose(h2.data, h2_expect)
      testing.assert_allclose(self.link.c.data, c2_expect)
      testing.assert_allclose(self.link.h.data, h2_expect)
  
imports: import unittest
  import numpy
  import chainer
  from chainer import backend
  from chainer.backends import cuda
  from chainer import gradient_check
  from chainer import links
  from chainer import testing
  from chainer.testing import attr
label_desc: Use image node_id 3 for calling the TestZoneoutlstm obj's underlying member method code with example usage: obj.check_forward(c_data, h_data, x_data) without return types