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