def METHOD_NAME(self):
    input_layer = DummyLayer()
    input_layer_2 = DummyLayer()
    a = DummyTensor()
    node_a = node_module.Node(layer=input_layer, outputs=a)
    b = DummyTensor()
    node_b = node_module.Node(layer=input_layer_2, outputs=b)
    arg_2 = DummyTensor()
    arg_3 = DummyTensor()
    node_c = node_module.Node(layer=input_layer, outputs=arg_3)
    kwarg_x = DummyTensor()
    kwarg_y = DummyTensor()
    node_d = node_module.Node(layer=input_layer, outputs=kwarg_y)
    merge_layer = DummyLayer()
    merged = DummyTensor()
    node = node_module.Node(
        layer=merge_layer,
        call_args=([a, b], arg_2, arg_3),
        call_kwargs={"x": kwarg_x, "y": kwarg_y},
        outputs=merged,
    )
    (
        merge_layer,
        merge_node_index,
        merge_tensor_index,
    ) = merged._keras_history
    # Check the saved call args/kwargs
    self.assertEqual(([a, b], arg_2, arg_3), node.call_args)
    self.assertEqual({"x": kwarg_x, "y": kwarg_y}, node.call_kwargs)
    # Only the inputs that were produced by input nodes should appear in
    # keras_tensors
    self.assertEqual({a, b, arg_3, kwarg_y}, set(node.keras_inputs))
    self.assertEqual(
        set(node.parent_nodes), {node_a, node_b, node_c, node_d}
    )
    # Check the layer wirings
    self.assertEqual(merge_node_index, 0)
    self.assertEqual(merge_tensor_index, 0)
    self.assertLen(merge_layer._inbound_nodes, 1)
    self.assertLen(merge_layer._outbound_nodes, 0)
    self.assertLen(input_layer._outbound_nodes, 3)
    self.assertLen(input_layer_2._outbound_nodes, 1)
    self.assertLen(merge_layer._inbound_nodes[0].input_tensors, 2)
    self.assertEqual(merge_layer._inbound_nodes[0].input_tensors, [a, b])
    self.assertLen(merge_layer._inbound_nodes[0].inbound_layers, 4)