code: def test_add_param_tags(self, layer):
      a_shape = (20, 50)
      a = numpy.random.normal(0, 1, a_shape)
      A = layer.add_param(a, a_shape)
      assert A in layer.params
      assert "trainable" in layer.params[A]
      assert "regularizable" in layer.params[A]
  
      b_shape = (30, 20)
      b = numpy.random.normal(0, 1, b_shape)
      B = layer.add_param(b, b_shape, trainable=False)
      assert B in layer.params
      assert "trainable" not in layer.params[B]
      assert "regularizable" in layer.params[B]
  
      c_shape = (40, 10)
      c = numpy.random.normal(0, 1, c_shape)
      C = layer.add_param(c, c_shape, tag1=True)
      assert C in layer.params
      assert "trainable" in layer.params[C]
      assert "regularizable" in layer.params[C]
      assert "tag1" in layer.params[C]
  
imports: from mock import Mock
  import numpy
  import pytest
  import theano
label_desc: Use image node_id 11 for calling the TestLayer obj's underlying member method code with example usage: obj.test_add_param_tags(layer) without return types