def test_measurement_error_probabilities_and_probability_raises_value_error(): H = np.array([[1, 1, 0], [0, 1, 1]]) with pytest.raises(ValueError): m = Matching() m.load_from_check_matrix(H, spacelike_weights=np.array([0.3, 0.7, 0.9]), measurement_error_probabilities=[0.1, 0.1], repetitions=3, measurement_error_probability=[0.1, 0.1])
def test_timelike_weights(t_weights, expected_edges): H = np.array([[1, 1, 0], [0, 1, 1]]) m = Matching() m.load_from_check_matrix(H, spacelike_weights=np.array([0.3, 0.7, 0.9]), timelike_weights=t_weights, repetitions=3) es = set((tuple(sorted([u, v])), d["weight"]) for u, v, d in m.edges()) assert es == expected_edges
def test_wrong_check_matrix_type_raises_type_error(): with pytest.raises(TypeError): Matching("test") m = Matching() with pytest.raises(TypeError): m.load_from_check_matrix("test")
def test_wrong_measurement_error_probabilities_raises_valueerror(m_errors): H = np.array([[1, 1, 0], [0, 1, 1]]) with pytest.raises(ValueError): m = Matching() m.load_from_check_matrix(H, spacelike_weights=np.array([0.3, 0.7, 0.9]), measurement_error_probabilities=m_errors, repetitions=3)
def test_wrong_timelike_weights_raises_valueerror(t_weights): H = np.array([[1, 1, 0], [0, 1, 1]]) with pytest.raises(ValueError): m = Matching() m.load_from_check_matrix(H, spacelike_weights=np.array([0.3, 0.7, 0.9]), timelike_weights=t_weights, repetitions=3)
def test_load_matching_from_dense_array(): H = np.array([[1, 1, 0], [0, 1, 1]]) m = Matching() m.load_from_check_matrix(H)