コード例 #1
0
def test_file_error_model_generate_no_more_errors_available():
    fem = FileErrorModel(os.path.join(FILES_DIR, 'no_more_errors_available.jsonl'))
    fqc = FiveQubitCode()
    with pytest.raises(EOFError):
        fem.generate(fqc, 0.4)
        fem.generate(fqc, 0.4)
        fem.generate(fqc, 0.4)
コード例 #2
0
def test_file_error_model_generate_skip_to_start():
    print()
    fem = FileErrorModel(os.path.join(FILES_DIR, 'fivequbitcode-errors-p0.4-bias10.jsonl'), 4)
    fqc = FiveQubitCode()
    packed_errors = (
        pt.pack(fem.generate(fqc, 0.4)),
        pt.pack(fem.generate(fqc, 0.4)),
        pt.pack(fem.generate(fqc, 0.4)),
    )
    expected_packed_errors = (("8400", 10), ("5280", 10), ("1080", 10))
    assert packed_errors == expected_packed_errors
コード例 #3
0
def test_file_error_model_generate():
    fem = FileErrorModel(os.path.join(FILES_DIR, 'fivequbitcode-errors-p0.4-bias10.jsonl'))
    fqc = FiveQubitCode()
    for _ in range(10):
        error = fem.generate(fqc, 0.4)
        assert isinstance(error, np.ndarray)
        assert len(error) == 10
コード例 #4
0
def test_file_error_model_generate_incorrect_length_in_packed_error(filename):
    fem = FileErrorModel(filename)
    fqc = FiveQubitCode()
    with pytest.raises(ValueError):
        fem.generate(fqc, 0.4)
コード例 #5
0
def test_file_error_model_generate_invalid_error_lines():
    fem = FileErrorModel(os.path.join(FILES_DIR, 'header_lines_after_body_lines.jsonl'))
    fqc = FiveQubitCode()
    with pytest.raises(ValueError):
        fem.generate(fqc, 0.4)
        fem.generate(fqc, 0.4)
コード例 #6
0
def test_file_error_model_generate_invalid_probability_parameter():
    fem = FileErrorModel(os.path.join(FILES_DIR, 'fivequbitcode-errors-p0.4-bias10.jsonl'))
    fqc = FiveQubitCode()
    with pytest.raises(ValueError):
        fem.generate(fqc, 0.3)