code: def test_chain(self):
      ch = chainer.Chain()
      with ch.init_scope():
          ch.l1 = chainer.links.Linear(3, 4)
          ch.l2 = chainer.links.Linear(5)
          ch.l3 = chainer.links.PReLU()
      self.assertEqual(names_of_links(ch), {"/l1", "/l2", "/l3"})
  
      to_factorized_noisy(ch)
      self.assertEqual(
          names_of_links(ch),
          {
              "/l1",
              "/l1/mu",
              "/l1/sigma",
              "/l2",
              "/l2/mu",
              "/l2/sigma",
              "/l3",
          },
      )
  
file_path: chainerrl/tests/links_tests/test_noisy_chain.py
imports: import unittest
  import chainer
  import chainer.testing
  import numpy
  import chainerrl
  from chainerrl.links import to_factorized_noisy
label_desc: Use image node_id 2 for calling the TestToFactorizedNoisy obj's underlying member method code with example usage: obj.test_chain() without return types