def test_csv_writer(tmpdir):
    """Confirm that the results are written to CSV."""
    path = tmpdir.join("outfile.csv")

    returnval = rtm.rtm_builder("REQ", root="tests", csv_path=path)
    assert returnval == f"Successfully wrote traceability matrix to {path}"
    with open(path, newline="") as csvfile:
        csvcontents = []
        reader = csv.DictReader(csvfile)
        csvcontents = [row for row in reader]
    assert csvcontents == [
        {
            "UID": "REQ0001",
            "Has Test": "True",
            "Tests": "TST0001"
        },
        {
            "UID": "REQ0002",
            "Has Test": "False",
            "Tests": ""
        },
        {
            "UID": "REQ0003",
            "Has Test": "True",
            "Tests": "TST0003 TST0004 TST0005"
        },
    ]
def test_one_test():
    """Check that requirements with one test are recorded correctly."""
    returnval = rtm.rtm_builder("REQ", root="tests")
    assert re.match(r"|\w*REQ0001\w*|\w*True\w*|\w*TST0001\w*|", returnval)
def test_multiple_tests():
    """Check that requirements with multiple tests are recorded correctly."""
    returnval = rtm.rtm_builder("REQ", root="tests")
    assert re.match(
        r"|\w*REQ0003\w*|\w*True\w*|\w*TST0003 TST0004 TST0005\w*|", returnval)
def test_no_tests():
    """Check that requirements with no tests are recorded correctly."""
    returnval = rtm.rtm_builder("REQ", root="tests")
    assert re.match(r"|\w*REQ0002\w*|\w*False\w*|\w*|", returnval)