def test_custom_sanity_check(backend):
    net = tensornetwork.TensorNetwork(backend=backend)
    a = net.add_node(np.ones(2))
    b = net.add_node(np.ones((2, 5)))
    # pylint: disable=pointless-statement
    a[0] ^ b[0]

    class PathOptimizer:
        def __call__(self, inputs, output, size_dict, memory_limit=None):
            return [(0, 1)]

    optimizer = PathOptimizer()
    final_node = path_contractors.custom(net, optimizer).get_final_node()
    np.testing.assert_allclose(final_node.tensor, np.ones(5) * 2.0)
def test_custom_sanity_check(backend):
    a = Node(np.ones(2), backend=backend)
    b = Node(np.ones((2, 5)), backend=backend)

    # pylint: disable=pointless-statement
    a[0] ^ b[0]
    nodes = [a, b]

    class PathOptimizer:
        def __call__(self, inputs, output, size_dict, memory_limit=None):
            return [(0, 1)]

    optimizer = PathOptimizer()
    final_node = path_contractors.custom(nodes, optimizer)
    np.testing.assert_allclose(final_node.tensor, np.ones(5) * 2.0)