Beispiel #1
0
def test_correct_answer_evaluates_true():
    noun = _get_mock_noun("kobieta", "f")
    noun.get_case_form = Mock(return_value=u"kobietę")
    adjective = _get_mock_adjective("dobry")
    adjective.get_case_form = Mock(return_value=u"dobrą")
    question = NounCaseQuestion(noun, adjective, "singular", "accusative")
    assert question.evaluate(u"dobrą kobietę")
Beispiel #2
0
def test_noun_case_question_get_question_text():
    noun = _get_mock_noun("kobieta", "f")
    adjective = _get_mock_adjective("dobry")
    question = NounCaseQuestion(noun, adjective, "singular", "accusative")
    assert question.get_question_text() == "Noun: kobieta (f)\nAdjective: dobry\n" +\
        "Decline for singular accusative\n"
    noun = _get_mock_noun(u"chłopiec", "m pers")
    adjective = _get_mock_adjective(u"mały")
    question = NounCaseQuestion(noun, adjective, "singular", "accusative")
    assert question.get_question_text() == u"Noun: chłopiec (m pers)\nAdjective: mały\n" +\
        "Decline for singular accusative\n"
Beispiel #3
0
def test_noun_case_question_instantiation_succeeds_if_passed_all_valid_arguments():
    noun = _get_mock_noun("kobieta", "f")
    adjective = _get_mock_adjective("dobry")
    question = NounCaseQuestion(noun, adjective, "plural", "nominative")
    assert isinstance(question, Question) and isinstance(
        question, NounCaseQuestion)
Beispiel #4
0
def test_noun_case_question_fails_if_adjective_doesnt_support_case_form():
    noun = _get_mock_noun("kobieta", "f")
    adjective = _get_mock_adjective("dobry", True, False)
    NounCaseQuestion(noun, adjective, "plural", "nominative")
    adjective.supports.assert_called()
Beispiel #5
0
def test_noun_case_question_fails_if_nominative_singular_is_requested():
    noun = _get_mock_noun("kobieta", "f")
    adjective = _get_mock_adjective("dobry")
    NounCaseQuestion(noun, adjective, "singular", "nominative")
    adjective.supports.assert_called()
Beispiel #6
0
def test_noun_case_question_fails_if_adjective_doesnt_have_forms_for_gender():
    noun = _get_mock_noun("kobieta", "f")
    adjective = _get_mock_adjective("dobry", False)
    NounCaseQuestion(noun, adjective, "plural", "nominative")
    adjective.set_gender.assert_called()
Beispiel #7
0
def test_noun_case_question_instantiation_fails_if_second_argument_isnt_adjective_object():
    noun = Mock(spec=Word)
    adjective = Mock()
    NounCaseQuestion(noun, adjective, None, None)
Beispiel #8
0
def test_noun_case_question_instantiation_fails_if_first_argument_isnt_word_object():
    noun = Mock()
    NounCaseQuestion(noun, None, None, None)
Beispiel #9
0
def test_noun_case_question_instantiation_fails_without_arguments():
    NounCaseQuestion()