コード例 #1
0
ファイル: test_merge_schedule.py プロジェクト: vkip/subscript
def test_dummy2(datadir, mocker):
    """Another dummy situation"""
    mocker.patch("sys.argv",
                 ["merge_schedule", "--verbose", "merge2.sch", "merged.sch"])
    with pytest.warns(FutureWarning):
        merge_schedule.main()
    assert len(open("merged.sch").readlines()) == 16
コード例 #2
0
ファイル: test_merge_schedule.py プロジェクト: vkip/subscript
def test_initwithdates(datadir, mocker):
    """Test that the first file can contain statements prior to the first
    DATES"""

    mocker.patch(
        "sys.argv",
        [
            "merge_schedule",
            "--verbose",
            "initwithdates.sch",
            "merge2.sch",
            "merged.sch",
        ],
    )
    with pytest.warns(FutureWarning):
        merge_schedule.main()
    assert Path("merged.sch").exists()
    merged = open("merged.sch").read()
    assert merged.count("\n") == 28
    assert "BAR-FOO" in merged  # This magic string is first in initwithdates
    assert "5 'NOV' 2020" in merged
    assert "YES" in merged  # From last entry in merge2.sch
    assert "NO" in merged  # From last entry in initwithdates
    # Check date order is correct:
    assert merged.find("YES") > merged.find("NO")
コード例 #3
0
def test_force(datadir, mocker):
    """Test that --force is working"""
    Path("existing.sch").write_text("bogus", encoding="utf8")
    mocker.patch(
        "sys.argv",
        ["merge_schedule", "mergeme.sch", "merge2.sch", "existing.sch"])
    with pytest.warns(FutureWarning):
        merge_schedule.main()
    assert len(
        Path("existing.sch").read_text(encoding="utf8").splitlines()) == 1

    mocker.patch(
        "sys.argv",
        [
            "merge_schedule",
            "mergeme.sch",
            "merge2.sch",
            "existing.sch",
            "--force",
        ],
    )
    with pytest.warns(FutureWarning):
        merge_schedule.main()
    assert len(
        Path("existing.sch").read_text(encoding="utf8").splitlines()) == 32
コード例 #4
0
def test_dummy_1(datadir):
    """Test that the first file can contain statements prior to the
    first DATES, and when we don't do any merges (dummy situation)"""
    sys.argv = [
        "merge_schedule", "--verbose", "initwithdates.sch", "merged.sch"
    ]
    merge_schedule.main()
    assert len(open("merged.sch").readlines()) == 12
コード例 #5
0
ファイル: test_merge_schedule.py プロジェクト: vkip/subscript
def test_dummy_1(datadir, mocker):
    """Test that the first file can contain statements prior to the
    first DATES, and when we don't do any merges (dummy situation)"""
    mocker.patch(
        "sys.argv",
        ["merge_schedule", "--verbose", "initwithdates.sch", "merged.sch"])
    with pytest.warns(FutureWarning):
        merge_schedule.main()
    assert len(open("merged.sch").readlines()) == 12
コード例 #6
0
def test_clip_end(datadir):
    """Test --clip_end"""
    sys.argv = [
        "merge_schedule",
        "mergeme.sch",
        "merge2.sch",
        "merged.sch",
        "--force",
        "--clip_end",
        "2025-01-01",
    ]
    merge_schedule.main()
    assert len(open("merged.sch").readlines()) == 21
コード例 #7
0
def test_main(datadir):
    """Test command line merge_schedule"""

    sys.argv = [
        "merge_schedule",
        "--verbose",
        "mergeme.sch",
        "merge2.sch",
        "merged.sch",
    ]
    merge_schedule.main()

    assert os.path.exists("merged.sch")
    assert len(open("merged.sch").readlines()) == 32
コード例 #8
0
def test_statements_prior_to_dates(datadir):
    """When we have to files with statements prior to DATES, it is not
    obvious what the users means. Sunsch has chosen to group these to
    a single block that occurs together before the first occurence of any
    DATES in the final output"""
    sys.argv = [
        "merge_schedule",
        "--verbose",
        "merge2.sch",
        "initwithdates.sch",
        "merged.sch",
    ]
    merge_schedule.main()
    merged_str = open("merged.sch").read()
    assert merged_str.find("BAR-FOO") < merged_str.find("DATES")
コード例 #9
0
def test_force(datadir):
    """Test that --force is working"""
    with open("existing.sch", "w") as fhandle:
        fhandle.write("bogus")
    sys.argv = ["merge_schedule", "mergeme.sch", "merge2.sch", "existing.sch"]
    merge_schedule.main()
    assert len(open("existing.sch").readlines()) == 1
    sys.argv = [
        "merge_schedule",
        "mergeme.sch",
        "merge2.sch",
        "existing.sch",
        "--force",
    ]
    merge_schedule.main()
    assert len(open("existing.sch").readlines()) == 32
コード例 #10
0
def test_clip_end(datadir, mocker):
    """Test --clip_end"""
    mocker.patch(
        "sys.argv",
        [
            "merge_schedule",
            "mergeme.sch",
            "merge2.sch",
            "merged.sch",
            "--force",
            "--clip_end",
            "2025-01-01",
        ],
    )
    merge_schedule.main()
    assert len(open("merged.sch").readlines()) == 21
コード例 #11
0
def test_main(datadir, mocker):
    """Test command line merge_schedule"""

    mocker.patch(
        "sys.argv",
        [
            "merge_schedule",
            "--verbose",
            "mergeme.sch",
            "merge2.sch",
            "merged.sch",
        ],
    )
    merge_schedule.main()

    assert Path("merged.sch").exists()
    assert len(open("merged.sch").readlines()) == 32
コード例 #12
0
def test_main(datadir, mocker):
    """Test command line merge_schedule"""

    mocker.patch(
        "sys.argv",
        [
            "merge_schedule",
            "--verbose",
            "mergeme.sch",
            "merge2.sch",
            "merged.sch",
        ],
    )
    with pytest.warns(FutureWarning):
        merge_schedule.main()

    assert len(
        Path("merged.sch").read_text(encoding="utf8").splitlines()) == 32
コード例 #13
0
def test_clip_end(datadir, mocker):
    """Test --clip_end"""
    mocker.patch(
        "sys.argv",
        [
            "merge_schedule",
            "mergeme.sch",
            "merge2.sch",
            "merged.sch",
            "--force",
            "--clip_end",
            "2025-01-01",
        ],
    )
    with pytest.warns(FutureWarning):
        merge_schedule.main()
    assert len(
        Path("merged.sch").read_text(encoding="utf8").splitlines()) == 21
コード例 #14
0
def test_statements_prior_to_dates(datadir, mocker):
    """When we have to files with statements prior to DATES, it is not
    obvious what the users means. Sunsch has chosen to group these to
    a single block that occurs together before the first occurence of any
    DATES in the final output"""
    mocker.patch(
        "sys.argv",
        [
            "merge_schedule",
            "--verbose",
            "merge2.sch",
            "initwithdates.sch",
            "merged.sch",
        ],
    )
    with pytest.warns(FutureWarning):
        merge_schedule.main()
    merged_str = Path("merged.sch").read_text(encoding="utf8")
    assert merged_str.find("BAR-FOO") < merged_str.find("DATES")
コード例 #15
0
def test_force(datadir, mocker):
    """Test that --force is working"""
    Path("existing.sch").write_text("bogus")
    mocker.patch(
        "sys.argv",
        ["merge_schedule", "mergeme.sch", "merge2.sch", "existing.sch"])
    merge_schedule.main()
    assert len(open("existing.sch").readlines()) == 1

    mocker.patch(
        "sys.argv",
        [
            "merge_schedule",
            "mergeme.sch",
            "merge2.sch",
            "existing.sch",
            "--force",
        ],
    )
    merge_schedule.main()
    assert len(open("existing.sch").readlines()) == 32
コード例 #16
0
def test_dummy2(datadir):
    """Another dummy situation"""
    sys.argv = ["merge_schedule", "--verbose", "merge2.sch", "merged.sch"]
    merge_schedule.main()
    assert len(open("merged.sch").readlines()) == 16