def test_get_node_raises_error(backend):
  backend = backend_factory.get_backend(backend)
  tensor1 = np.ones((2, 3, 2), dtype=np.float64)
  tensor2 = 2 * np.ones((2, 3, 2), dtype=np.float64)
  tensors = [tensor1, tensor2]
  mps = BaseMPS(tensors, backend=backend)
  with pytest.raises(ValueError):
    mps.get_node(site=-1)
  with pytest.raises(IndexError):
    mps.get_node(site=3)
def test_get_node(backend):
  backend = backend_factory.get_backend(backend)
  tensor1 = np.ones((2, 3, 2), dtype=np.float64)
  tensor2 = 2 * np.ones((2, 3, 2), dtype=np.float64)
  tensors = [tensor1, tensor2]
  mps = BaseMPS(tensors, backend=backend)
  np.testing.assert_allclose(mps.get_node(0).tensor, tensor1)
  np.testing.assert_allclose(mps.get_node(1).tensor, tensor2)
def test_get_node_connector_matrix(backend):
  backend = backend_factory.get_backend(backend)
  tensor1 = np.ones((2, 3, 2), dtype=np.float64)
  tensor2 = 2 * np.ones((2, 3, 2), dtype=np.float64)
  connector = backend.convert_to_tensor(np.ones((2, 2), dtype=np.float64))
  tensors = [tensor1, tensor2]
  mps = BaseMPS(tensors, backend=backend, connector_matrix=connector)
  np.testing.assert_allclose(mps.get_node(0).tensor, tensor1)
  np.testing.assert_allclose(mps.get_node(1).tensor, 2 * tensor2)