def test_setattr_submit_both(aocd_dir, mocker, requests_mock):
    requests_mock.get("https://adventofcode.com/2017/day/7")
    answer_path = aocd_dir / "thetesttoken" / "2017_07a_answer.txt"
    answer_path.write_text("4321")
    puzzle = Puzzle(year=2017, day=7)
    mock = mocker.patch("aocd.models.Puzzle._submit")
    puzzle.answers = 4321, "zyxw"
    mock.assert_called_once_with(part="b", value="zyxw")
def test_setattr_doesnt_submit_both_if_done(mocker, aocd_dir):
    answer_a_path = aocd_dir / "thetesttoken" / "2017_07a_answer.txt"
    answer_b_path = aocd_dir / "thetesttoken" / "2017_07b_answer.txt"
    answer_a_path.write_text("ansA")
    answer_b_path.write_text("321")
    puzzle = Puzzle(year=2017, day=7)
    mock = mocker.patch("aocd.models.Puzzle._submit")
    puzzle.answers = "ansA", 321
    mock.assert_not_called()