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
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")
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
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
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
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
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
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")
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
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
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
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
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
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")
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
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