Beispiel #1
0
def test_reset_all_results(instance_creation_teacher,
                           instance_creation_student):
    homework1 = instance_creation_teacher.create_homework("Read docs", 1)
    homework2 = instance_creation_teacher.create_homework("Read docs 2", 2)
    instance_creation_teacher.check_homework(
        HomeworkResult(instance_creation_student, homework1, "solution", 1))
    instance_creation_teacher.check_homework(
        HomeworkResult(instance_creation_student, homework2, "solution", 2))
    instance_creation_teacher.reset_results()
    assert instance_creation_teacher.homework_done == {}
Beispiel #2
0
def test_create_homework_result_from_not_a_homework(test_student,
                                                    date_01_jan_2020):
    with unittest.mock.patch("datetime.datetime") as fake_datetime:
        fake_datetime.now.return_value = date_01_jan_2020

        with pytest.raises(TypeError, match="You gave not a Homework object"):
            HomeworkResult(test_student, "", "Some solution")
Beispiel #3
0
def test_homework_result(instance_creation_student, instance_creation_teacher):
    homework = instance_creation_teacher.create_homework("Read docs", 0)
    homework_result = HomeworkResult(instance_creation_student, homework,
                                     "I have done this hw", 1)
    assert homework_result.author is instance_creation_student
    assert homework_result.homework is homework
    assert homework_result.solution == "I have done this hw"
    assert homework_result.created == 1
Beispiel #4
0
def test_check_homework_returns_true_on_right_homework(test_student,
                                                       date_01_jan_2020):
    with unittest.mock.patch("datetime.datetime") as fake_datetime:
        fake_datetime.now.return_value = date_01_jan_2020

        teacher = Teacher("John", "Doe")
        hw = Homework("Some task", 10)
        hw_result = HomeworkResult(test_student, hw, "Looong solution")
        assert teacher.check_homework(hw_result)
Beispiel #5
0
def test_check_homework(
    instance_creation_student,
    instance_creation_teacher,
    data: str,
    expected_result: bool,
):
    homework = instance_creation_teacher.create_homework("Read docs", 5)
    homework_result = HomeworkResult(instance_creation_student, homework, data,
                                     5)
    assert instance_creation_teacher.check_homework(
        homework_result) is expected_result
Beispiel #6
0
def test_homework_done_dict_contains_unique(instance_creation_teacher,
                                            instance_creation_student):
    homework = instance_creation_teacher.create_homework("Read docs", 1)
    homework_result = HomeworkResult(instance_creation_student, homework,
                                     "I have done this hw", 1)
    instance_creation_teacher.check_homework(homework_result)

    new_teacher = Teacher("Vasily", "Pupkin")
    new_teacher.check_homework(homework_result)

    assert instance_creation_teacher.homework_done == new_teacher.homework_done
Beispiel #7
0
def test_homeworks_added_to_homework_done(test_student, date_01_jan_2020):
    with unittest.mock.patch("datetime.datetime") as fake_datetime:
        fake_datetime.now.return_value = date_01_jan_2020

        teacher = Teacher("John", "Doe")
        homework_done_size_before = len(teacher.homework_done)
        hw = Homework("Some other task", 10)
        hw_result = HomeworkResult(test_student, hw, "Long solution")
        teacher.check_homework(hw_result)

        homework_done_size_after = len(teacher.homework_done)
        assert homework_done_size_after - homework_done_size_before == 1
        assert hw_result in Teacher.homework_done[hw]
Beispiel #8
0
def test_homework_result_with_error(instance_creation_student):
    with pytest.raises(TypeError, match="You gave a not Homework object"):
        HomeworkResult(instance_creation_student, "not_a_homework", "solution",
                       0)
Beispiel #9
0
def test_check_homework_returns_false_on_poor_homework(test_student):
    teacher = Teacher("John", "Doe")
    hw = Homework("Some task", 10)
    hw_result = HomeworkResult(test_student, hw, "sltn")
    assert not teacher.check_homework(hw_result)