Пример #1
0
def questions() -> List[survey.Question]:
    q1 = survey.NumericQuestion(1, 'numeric 1', 5, 25)
    q2 = survey.MultipleChoiceQuestion(2, ' Multiple Question 2', ['a', 'b'])
    q3 = survey.CheckboxQuestion(3, ' Checkbox Question 3', ['X', 'Y'])
    q4 = survey.YesNoQuestion(4, 'YesNoQuestion 4')
    q5 = survey.NumericQuestion(1, 'numeric 5', 15, 250)
    q6 = survey.MultipleChoiceQuestion(2, ' Multiple Question 6', ['a', 'b'])
    q7 = survey.CheckboxQuestion(3, ' Checkbox Question 7', ['X', 'Y'])
    q8 = survey.YesNoQuestion(4, 'YesNoQuestion 8')
    return [q1, q2, q3, q4]
Пример #2
0
def questions() -> List[survey.Question]:
    return [
        survey.MultipleChoiceQuestion(1, 'why?', ['a', 'b', 'c', 'd']),
        survey.NumericQuestion(2, 'what?', -2, 4),
        survey.YesNoQuestion(3, 'really?'),
        survey.CheckboxQuestion(4, 'how?', ['a', 'b', 'c', 'd'])
    ]
Пример #3
0
 def test_make_grouping_greedy(self):
     new_course = course.Course('CSC148')
     q1 = survey.CheckboxQuestion(1, 'Hobbies?',
                                  ['Movie', 'Sing', 'Dance', 'Game'])
     new_survey = survey.Survey([q1])
     students = [course.Student(1, 'Zoro'),
                 course.Student(2, 'Aaron'),
                 course.Student(3, 'Gertrude'),
                 course.Student(4, 'Yvette'),
                 course.Student(6, 'Steph'),
                 course.Student(7, 'Draymond'),
                 course.Student(8, 'Andrew')]
     new_course.enroll_students(students)
     new_grouper = grouper.GreedyGrouper(2)
     new_grouping = new_grouper.make_grouping(new_course, new_survey)
     groups = new_grouping.get_groups()
     temp_list = []
     for i in range(0, len(groups)):
         people = groups[i].get_members()
         temp_list.extend(people)
         if i == (len(groups) - 1):
             assert len(groups[i]) <= 2
         else:
             assert len(groups[i]) == 2
     course_students = new_course.get_students()
     for student in course_students:
         assert student in temp_list
     assert len(temp_list) == 7
Пример #4
0
class TestCriterion:
    question1 = survey.CheckboxQuestion(1, "species?", ["human", 'bug', 'owl'])
    a11 = survey.Answer(["human", "bug"])
    a12 = survey.Answer(["human"])
    a13 = survey.Answer(["owl"])
    answers1 = [a11, a12, a13]
    question2 = survey.NumericQuestion(4, "number of legs?", 1, 8)
    a21 = survey.Answer(1)
    a22 = survey.Answer(4)
    a23 = survey.Answer(8)
    answers2 = [a21, a22, a23]
    answers3 = [a21, a21, a21]

    def test_homogeneous(self) -> None:
        hom = criterion.HomogeneousCriterion()
        assert hom.score_answers(self.question1, self.answers1) \
            == 0.16666666666666666
        assert hom.score_answers(self.question2, self.answers2) \
            == 0.3333333333333333

    def test_heterogeneous(self) -> None:
        het = criterion.HeterogeneousCriterion()
        assert het.score_answers(self.question1, self.answers1) \
            == 0.8333333333333334
        assert het.score_answers(self.question2, self.answers2) \
            == 0.6666666666666667

    def test_lonely(self) -> None:
        sad = criterion.LonelyMemberCriterion()
        assert sad.score_answers(self.question2, self.answers2) == 0.0
        assert sad.score_answers(self.question2, self.answers3) == 1.0
Пример #5
0
 def test_set_criterion_and_get_crit(self, survey_with_YN_question):
     crit = criterion.HeterogeneousCriterion
     for q in survey_with_YN_question._ques:
         assert survey_with_YN_question.set_criterion(crit, q)
     q_not_in_survey = survey.CheckboxQuestion(10, "hello", ["a"])
     assert survey_with_YN_question.set_criterion(crit,
                                                  q_not_in_survey) == False
     for q in survey_with_YN_question._ques:
         assert survey_with_YN_question._get_criterion(q) == crit
Пример #6
0
 def test_validate_answer(self) -> None:
     q = survey.CheckboxQuestion(44, "type?",
                                 ["chaotic", "evil", "neutral"])
     a1 = survey.Answer(["chaotic", "evil"])
     a2 = survey.Answer(["evil", "neutral"])
     a3 = survey.Answer(["neutral", "good"])
     assert q.validate_answer(a1)
     assert q.validate_answer(a2)
     assert not q.validate_answer(a3)
Пример #7
0
 def test_similarity(self) -> None:
     q = survey.CheckboxQuestion(44, "type?",
                                 ["chaotic", "evil", "neutral"])
     a1 = survey.Answer(["chaotic", "evil"])
     a2 = survey.Answer(["evil", "neutral"])
     a3 = survey.Answer(["neutral"])
     assert q.get_similarity(a1, a2) == 0.3333333333333333
     assert q.get_similarity(a2, a3) == 0.5
     assert q.get_similarity(a1, a3) == 0.0
Пример #8
0
    def test_get_similarity(self, questions, answers, students):
        q1 = survey.CheckboxQuestion(1, 'C', ['a', 'b', 'c', 'd', 'e', 'f'])
        a1 = survey.Answer(['a', 'b', 'c', 'd'])
        a2 = survey.Answer(['e', 'b', 'c', 'f'])
        a3 = survey.Answer(['a', 'b', 'c', 'd'])
        a4 = survey.Answer(['g'])

        assert q1.get_similarity(a1, a2) == 0.33
        assert q1.get_similarity(a1, a3) == 1.0
        assert q1.get_similarity(a1, a4) == 0.0
Пример #9
0
 def test_set_weight_and_get_weight(self, survey_with_YN_question):
     for q in survey_with_YN_question._ques:
         assert survey_with_YN_question.set_weight(0.1, q)
     for q in survey_with_YN_question._ques:
         assert survey_with_YN_question._get_weight(q) == 0.1
     q_not_in_survey = survey.CheckboxQuestion(10, "hello", ["a"])
     assert survey_with_YN_question.set_weight(0.1,
                                               q_not_in_survey) == False
     assert survey_with_YN_question._get_criterion(q_not_in_survey) == \
            survey_with_YN_question._default_criterion
Пример #10
0
 def test_checkbox(self):
     m = survey.CheckboxQuestion(0, "just choose", ["A", "B", "C", "D", "E", "F"])
     assert m.id == 0
     assert m.text == 'just choose'
     assert 'just choose' in str(m)
     assert 'A' in str(m)
     assert 'B' in str(m)
     assert 'C' in str(m)
     assert m.get_similarity(FakeAnswer2(["A"]), FakeAnswer2(["A"])) == 1.0
     assert m.get_similarity(FakeAnswer2(["A", "B"]), FakeAnswer2(["A", "B"])) == 1.0
     assert fuck_within(m.get_similarity(FakeAnswer2(["A", "B"]), FakeAnswer2(["A", "B", "C"])), 0.6666666)
     assert fuck_within(m.get_similarity(FakeAnswer2(["A", "B", "C"]), FakeAnswer2(["A", "B"])), 0.6666666)
     assert fuck_within(m.get_similarity(FakeAnswer2(["C", "A", "B"]), FakeAnswer2(["A", "B"])), 0.6666666)
     assert m.get_similarity(FakeAnswer2(["A", "C", "D", "E"]), FakeAnswer2(["A", "B"])) == 0.2
Пример #11
0
 def test_score_grouping(self, questions, students_with_answers):
     new_course = course.Course('CSC148')
     q1 = survey.CheckboxQuestion(1, 'Hobbies?',
                                  ['Movie', 'Sing', 'Dance', 'Game'])
     new_survey = survey.Survey([q1])
     students = [course.Student(1, 'Zoro'),
                 course.Student(2, 'Aaron'),
                 course.Student(3, 'Gertrude'),
                 course.Student(4, 'Yvette'),
                 course.Student(6, 'Steph'),
                 course.Student(7, 'Draymond'),
                 course.Student(8, 'Andrew')]
     new_course.enroll_students(students_with_answers)
     new_grouper = grouper.AlphaGrouper(2)
     new_grouping = new_grouper.make_grouping(new_course, new_survey)
     s = survey.Survey(questions)
     score = s.score_grouping(new_grouping)
     assert score == 2.0
Пример #12
0
    def test_super_complicated(self):
        students = [course.Student(i, "Shit" + str(i)) for i in range(8)]
        q1 = survey.YesNoQuestion(0, "To be, or not to be")
        q2 = survey.NumericQuestion(1, "How many times you f**k up", 0, 10000)
        q3 = survey.MultipleChoiceQuestion(2, "What's your favorite thing to do", ['A', 'B', 'C', 'D'])
        q4 = survey.CheckboxQuestion(3, "How many things you have done", ['A', 'B', 'C', 'D', 'E'])
        questions = [q1, q2, q3, q4]
        s = survey.Survey(questions)

        answers = [True, 1111, 'A', ['A', 'C'],
                   False, 44, 'C', ['A', 'B', 'C'],
                   True, 3, 'B', ['A', 'C', 'D'],
                   True, 56, 'C', ['D', 'C'],
                   False, 12, 'C', ['E'],
                   True, 0, 'A', ['A'],
                   False, 888, 'C', ['A', 'B', 'C', 'D'],
                   True, 12, 'B', ['A', 'B', 'C', 'D', 'E']]

        i = 0
        for stu in students:
            for q in questions:
                stu.set_answer(q, survey.Answer(answers[i]))
                i += 1
        g = grouper.Grouping()
        g.add_group(grouper.Group([students[0], students[1], students[2]]))
        g.add_group(grouper.Group([students[3], students[4], students[5]]))
        g.add_group(grouper.Group([students[6], students[7]]))
        assert fuck_within(s.score_students(students), 0.5175303571428571)
        assert fuck_within(s.score_grouping(g), 0.43715925925925925)

        s.set_weight(2, q2)
        s.set_weight(5, q1)
        s.set_weight(6, q3)
        s.set_weight(3, q4)
        assert fuck_within(s.score_students(students), 1.7600607142857143)
        assert fuck_within(s.score_grouping(g), 1.2696888888888889)

        s.set_criterion(criterion.HeterogeneousCriterion(), q1)
        s.set_criterion(criterion.HeterogeneousCriterion(), q2)
        s.set_criterion(criterion.HeterogeneousCriterion(), q3)
        s.set_criterion(criterion.HeterogeneousCriterion(), q4)
        assert fuck_within(s.score_students(students), 2.2399392857142857)
        assert fuck_within(s.score_grouping(g), 2.7303111111111114)
Пример #13
0
    def test_checkbox(self):
        q1 = survey.CheckboxQuestion(0, "just choose", ["A", "B", "C", "D", "E", "F"])
        assert not q1.validate_answer(survey.Answer(1))
        assert not q1.validate_answer(survey.Answer("E"))
        assert not q1.validate_answer(survey.Answer(True))
        assert not q1.validate_answer(survey.Answer(False))
        assert not q1.validate_answer(survey.Answer(4))
        assert not q1.validate_answer(survey.Answer(["A", "B", "C", "G"]))
        assert q1.validate_answer(survey.Answer(["A"]))
        assert q1.validate_answer(survey.Answer(["B", "A"]))
        assert q1.validate_answer(survey.Answer(["A", "C", "B", "D", "E", "F"]))

        assert not survey.Answer(1).is_valid(q1)
        assert not survey.Answer("E").is_valid(q1)
        assert not survey.Answer(True).is_valid(q1)
        assert not survey.Answer(False).is_valid(q1)
        assert not survey.Answer(["A", "B", "C", "G"]).is_valid(q1)
        assert survey.Answer(["A"]).is_valid(q1)
        assert survey.Answer(["B", "A"]).is_valid(q1)
        assert survey.Answer(["A", "B", "C", "D", "E", "F"]).is_valid(q1)
        assert survey.Answer(["A", "C", "B", "D", "E", "F"]).is_valid(q1)
Пример #14
0
class TestSurvey:

    q1 = survey.MultipleChoiceQuestion(1, "species?", ["human"])
    q5 = survey.YesNoQuestion(5, "are you human?")
    q3 = survey.CheckboxQuestion(3, "type?", ["fae"])
    q4 = survey.NumericQuestion(4, "number of legs?", 1, 5)
    q2 = survey.Question(2, "are you human?")
    qs = [q1, q4, q3, q2, q3, q5]  # list of questions
    questions = [q1, q4, q3, q5]

    def test_survey_properties(self) -> None:
        s = survey.Survey(self.qs)
        assert len(s) == 5
        for q in self.qs:
            assert q in s

    def test_get_questions(self) -> None:
        s = survey.Survey(self.questions)
        descr = s.get_questions()
        assert self.q1 in descr
        assert self.q2 not in descr
        assert self.q3 in descr
        assert self.q4 in descr
        assert self.q5 in descr

    def test_set_weight(self) -> None:
        s = survey.Survey(self.questions)
        assert s.set_weight(2, self.q1)
        assert s.set_weight(5, self.q5)
        assert s.set_weight(-1, self.q3)
        assert not s.set_weight(2, self.q2)

    def test_set_criterion(self) -> None:
        s = survey.Survey(self.questions)
        assert s.set_criterion(criterion.LonelyMemberCriterion(), self.q1)
        assert s.set_criterion(criterion.HeterogeneousCriterion(), self.q5)
        assert not s.set_criterion(criterion.HomogeneousCriterion(), self.q2)
Пример #15
0
def test_survey_checkbox_question_validate_answer() -> None:
    question = survey.CheckboxQuestion(1, 'What do you want?', ['A', 'B', 'C'])
    assert question.validate_answer(survey.Answer(['B', 'C']))
    assert not question.validate_answer(survey.Answer(['Z']))
Пример #16
0
def test_survey_checkbox_question__str__() -> None:
    question1 = survey.CheckboxQuestion(1, 'Who are you?', ['A', 'B', 'C'])
    assert '1' and 'Who are you?' and 'A' and 'B' and 'C' in str(question1)
Пример #17
0
def test_survey_answer_is_valid() -> None:
    question = survey.CheckboxQuestion(1, 'What do you want?', ['A', 'B', 'C'])
    answer1 = survey.Answer(['C', 'B'])
    answer2 = survey.Answer(5)
    assert answer1.is_valid(question)
    assert not answer2.is_valid(question)
Пример #18
0
def CheckQuestion():
    return survey.CheckboxQuestion(1, "hello", ["a", "b"])
Пример #19
0
class TestGrouper:

    q1 = survey.MultipleChoiceQuestion(1, "species?", ["human", 'bug', 'owl'])
    q2 = survey.YesNoQuestion(2, "are you human?")
    q3 = survey.CheckboxQuestion(3, "type?", ["chaotic", "evil", "neutral"])
    q4 = survey.NumericQuestion(4, "number of legs?", 1, 8)
    s = survey.Survey([q1, q2, q3, q4])
    c = course.Course("Learning 101")

    def answer_questions(self) -> List[course.Student]:
        # students
        s1 = course.Student(2, "First")
        s1.set_answer(self.q1, survey.Answer("owl"))
        s1.set_answer(self.q2, survey.Answer(False))
        s1.set_answer(self.q3, survey.Answer(["chaotic", "evil"]))
        s1.set_answer(self.q4, survey.Answer(1))
        s2 = course.Student(25, "Second")
        s2.set_answer(self.q1, survey.Answer("bug"))
        s2.set_answer(self.q2, survey.Answer(False))
        s2.set_answer(self.q3, survey.Answer(["chaotic", "evil", "neutral"]))
        s2.set_answer(self.q4, survey.Answer(8))
        s3 = course.Student(34, "Third")
        s3.set_answer(self.q1, survey.Answer("human"))
        s3.set_answer(self.q2, survey.Answer(True))
        s3.set_answer(self.q3, survey.Answer(["chaotic", "neutral"]))
        s3.set_answer(self.q4, survey.Answer(5))
        s4 = course.Student(9, "Fourth")
        s4.set_answer(self.q1, survey.Answer("owl"))
        s4.set_answer(self.q2, survey.Answer(False))
        s4.set_answer(self.q3, survey.Answer(["neutral"]))
        s4.set_answer(self.q4, survey.Answer(2))
        s5 = course.Student(89, "Last")
        s5.set_answer(self.q1, survey.Answer("human"))
        s5.set_answer(self.q2, survey.Answer(True))
        s5.set_answer(self.q3, survey.Answer(["evil"]))
        s5.set_answer(self.q4, survey.Answer(7))
        s = [s1, s2, s3, s4, s5]
        return s

    def test_course_all_answered(self) -> None:
        self.c.enroll_students(self.answer_questions())
        assert self.c.all_answered(self.s)

    def test_score_students(self) -> None:
        self.c.enroll_students(self.answer_questions())
        assert self.s.score_students(self.answer_questions()) \
               == 0.34761904761904766
        assert self.s.score_students(self.answer_questions()[:3]) \
               == 0.3055555555555555
        assert self.s.score_students(self.answer_questions()[2:4]) \
               == 0.26785714285714285

    def test_alpha_grouper(self) -> None:
        self.c.enroll_students(self.answer_questions())
        g = grouper.AlphaGrouper(3)
        gps = g.make_grouping(self.c, self.s).get_groups()
        assert len(gps) == 2
        assert gps[1].get_members()[1].id == 34
        assert len(gps[1].get_members()) == 2
        g = grouper.AlphaGrouper(2)
        gps = g.make_grouping(self.c, self.s).get_groups()
        assert gps[1].get_members()[1].id == 25  # number incorrect
        assert len(gps) == 3
        h = []
        for group in gps:
            h.extend(group.get_members())
        for student in self.c.students:
            assert student in h

    def test_score_grouping(self) -> None:
        self.c.enroll_students(self.answer_questions())
        g = grouper.AlphaGrouper(3)
        gps = g.make_grouping(self.c, self.s)
        assert self.s.score_grouping(gps) == 0.3125
        self.c.enroll_students(self.answer_questions())
        g2 = grouper.GreedyGrouper(3)
        gps2 = g2.make_grouping(self.c, self.s)
        assert self.s.score_grouping(gps2) == 0.5892857142857143

    def test_random_grouper(self) -> None:
        self.c.enroll_students(self.answer_questions())
        g = grouper.RandomGrouper(3)
        gps = g.make_grouping(self.c, self.s).get_groups()
        assert len(gps) == 2
        assert len(gps[1].get_members()) == 2
        g = grouper.RandomGrouper(2)
        gps = g.make_grouping(self.c, self.s).get_groups()
        assert len(gps) == 3
        h = []
        for group in gps:
            h.extend(group.get_members())
        for student in self.c.students:
            assert student in h

    def test_greedy_grouper(self) -> None:
        self.c.enroll_students(self.answer_questions())
        g = grouper.GreedyGrouper(3)
        gps = g.make_grouping(self.c, self.s).get_groups()
        assert len(gps) == 2
        assert gps[1].get_members()[1].id == 89
        assert len(gps[1].get_members()) == 2
        g = grouper.GreedyGrouper(2)
        gps = g.make_grouping(self.c, self.s).get_groups()
        assert len(gps) == 3
        assert gps[1].get_members()[1].id == 34
        h = []
        for group in gps:
            h.extend(group.get_members())
        for student in self.c.students:
            assert student in h

    def test_window_grouper(self) -> None:
        self.c.enroll_students(self.answer_questions())
        g = grouper.WindowGrouper(3)
        gps = g.make_grouping(self.c, self.s).get_groups()
        assert len(gps) == 2
        assert gps[0].get_members()[1] == 9  # number incorrect
        assert len(gps[1].get_members()) == 2
        h = []
        for group in gps:
            h.extend(group.get_members())
        for student in self.c.students:
            assert student in h
Пример #20
0
def Checkboxq2():
    return survey.CheckboxQuestion(2, "hello", ["a", "b", "c", "d", "e"])
Пример #21
0
def test_survey_checkbox_question_get_similarity() -> None:
    question = survey.CheckboxQuestion(1, 'What do you want?',
                                       ['A', 'B', 'C', 'D', 'E'])
    answer1 = survey.Answer(['B', 'D'])
    answer2 = survey.Answer(['C', 'D'])
    assert question.get_similarity(answer1, answer2) == 1 / 3
Пример #22
0
 def test_checkbox_properties(self) -> None:
     q = survey.CheckboxQuestion(44, "type?",
                                 ["chaotic", "evil", "neutral"])
     assert q.id == 44
     assert q.text == 'type?'
Пример #23
0
    def test_combination(self):
        students = [course.Student(i, "Shit" + str(i)) for i in range(8)]
        q1 = survey.YesNoQuestion(0, "To be, or not to be")
        q2 = survey.NumericQuestion(1, "How many times you f**k up", 0, 10000)
        q3 = survey.MultipleChoiceQuestion(2, "What's your favorite thing to do", ['A', 'B', 'C', 'D'])
        q4 = survey.CheckboxQuestion(3, "How many things you have done", ['A', 'B', 'C', 'D', 'E'])
        questions = [q1, q2, q3, q4]
        s = survey.Survey(questions)

        answers = [True, 1111, 'A', ['A', 'C'],
                   False, 44, 'C', ['A', 'B', 'C'],
                   True, 3, 'B', ['A', 'C', 'D'],
                   True, 56, 'C', ['D', 'C'],
                   False, 12, 'C', ['E'],
                   True, 0, 'A', ['A'],
                   False, 888, 'C', ['A', 'B', 'C', 'D'],
                   True, 12, 'B', ['A', 'B', 'C', 'D', 'E']]

        i = 0
        for stu in students:
            for q in questions:
                stu.set_answer(q, survey.Answer(answers[i]))
                i += 1

        c = course.Course("Asshole101")
        c.enroll_students(students)

        grouping = grouper.AlphaGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 1, 2], [3, 4, 5], [6, 7]]

        grouping = grouper.GreedyGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 2, 5], [1, 4, 6], [3, 7]]

        grouping = grouper.WindowGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 4, 5], [1, 2, 3], [6, 7]]

        s.set_criterion(criterion.HeterogeneousCriterion(), q2)
        s.set_weight(2, q1)
        s.set_weight(2, q1)
        s.set_weight(3, q2)
        s.set_weight(55, q4)

        grouping = grouper.AlphaGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 1, 2], [3, 4, 5], [6, 7]]

        grouping = grouper.GreedyGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 2, 6], [1, 3, 7], [4, 5]]

        grouping = grouper.WindowGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 1, 2], [3, 4], [5, 6, 7]]

        s.set_weight(2, q1)
        s.set_weight(1, q2)
        s.set_weight(5, q3)
        s.set_weight(2, q4)
        s.set_criterion(criterion.LonelyMemberCriterion(), q1)
        s.set_criterion(criterion.LonelyMemberCriterion(), q2)
        s.set_criterion(criterion.LonelyMemberCriterion(), q3)
        s.set_criterion(criterion.LonelyMemberCriterion(), q4)

        grouping = grouper.AlphaGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 1, 2], [3, 4, 5], [6, 7]]

        grouping = grouper.GreedyGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 2, 5], [1, 4, 6], [3, 7]]

        grouping = grouper.WindowGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 1, 2], [3, 4, 5], [6, 7]]

        # make one of the student's answer invalid
        students[0].set_answer(q1, survey.Answer('F**K'))

        grouping = grouper.AlphaGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 1, 2], [3, 4, 5], [6, 7]]

        grouping = grouper.GreedyGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 1, 2], [3, 4, 6], [5, 7]]

        grouping = grouper.WindowGrouper(3).make_grouping(c, s)
        assert len(grouping) == 3
        assert grouping_to_list_of_list(grouping) == [[0, 1, 2], [3, 4, 5], [6, 7]]
Пример #24
0
 def test_string(self) -> None:
     q = survey.CheckboxQuestion(44, "type?",
                                 ["chaotic", "evil", "neutral"])
     s = str(q)
     assert q.text in s
Пример #25
0
def CheckQuestion2():
    return survey.CheckboxQuestion(100, "hello", ["a", 'b', 'c', 'd'])