code: def test_custom_layer(self):
      class CustomLayer(layers.BaseLayer):
          def output(self, input):
              return 2 * input
  
      custom_layer = CustomLayer()
      network = layers.join(layers.Input(10), custom_layer)
  
      self.assertShapesEqual(network.input_shape, (None, 10))
      self.assertShapesEqual(network.output_shape, None)
  
      custom_layer.input_shape = (None, 10)
      err_message = "Cannot update input shape of the layer"
      with self.assertRaisesRegexp(ValueError, err_message):
          custom_layer.input_shape = (None, 20)
  
imports: from neupy import layers
  from base import BaseTestCase
label_desc: Use image node_id 1 for calling the CreateCustomLayersTestCase obj's underlying member method code with example usage: obj.test_custom_layer() and returns: unknown