Beispiel #1
0
    def test_items_experiments_only_filler(self):
        items = lister.graceful_read_items('tests/test_lister_items-3.txt')
        exp = lister.Experiment(items)
        self.assertEqual(exp.field_count, 1)
        self.assertEqual(set(exp.field_count_counts), set([(1, 4)]))
        self.assertEqual(set(exp.items_by_field_count(1)), set(items))

        silence = Silence()
        sys.stdout = silence

        exp.filler_sections = ['filler']
        # there's only one section, so...
        self.assertEqual(exp.filler_sections, [])
        self.assertFalse(exp.has_fillers)
        self.assertEqual(exp.target_count, 2)
        self.assertEqual(exp.filler_count, 0)

        exp.filler_sections = ['target']
        # now nothing's a filler, so...
        self.assertEqual(exp.filler_sections, [])
        self.assertFalse(exp.has_fillers)
        self.assertEqual(exp.target_count, 2)
        self.assertEqual(exp.filler_count, 0)
        sys.stdout = sys.__stdout__

        # let's make sure that the field_count_report() doesn't give us a warning
        silence = Silence()
        sys.stdout = silence
        exp.field_count_report()
        sys.stdout = sys.__stdout__
        found_warning = False
        for line in silence():
            if line.find('WARNING') > -1:
                found_warning = True
        self.assertFalse(found_warning)
Beispiel #2
0
    def test_lister_mismatch_condition_counts(self):
        items = lister.graceful_read_items('tests/test_lister_items-4.txt')
        self.assertEqual(len(items), 5)

        exp = lister.Experiment(items)
        self.assertEqual(len(exp.section_names), 1)
        self.assertEqual(exp.section_names[0], 'filler')
        sec = exp.section('filler')

        # condition count is three
        self.assertEqual(sec.condition_count, 3)
        cnames = sec.condition_sets
        # two different sets of condition names
        self.assertEqual(len(cnames), 2)
        # five actual distinct conditions
        self.assertEqual(len([cond for set in cnames for cond in set]), 5)

        silence = Silence()
        sys.stdout = silence

        excepted = False
        try:
            exp.verify()
        except SystemExit:
            excepted = True
        self.assertTrue(excepted)

        sys.stdout = sys.__stdout__
Beispiel #3
0
    def test_items_experiments_basic(self):
        items = lister.graceful_read_items('tests/test_lister_items-1.txt')
        exp = lister.Experiment(items)
        self.assertEqual(exp.field_count, 2)
        self.assertEqual(set(exp.field_count_counts), set([(2, 1), (1, 1)]))
        self.assertEqual(exp.items_by_field_count(1), [items[0]])
        self.assertEqual(exp.items_by_field_count(2), [items[1]])

        self.assertFalse(exp.has_fillers)
        self.assertEqual(exp.target_count, 2)
        self.assertEqual(exp.filler_count, 0)
Beispiel #4
0
    def test_items_file(self):
        items = lister.graceful_read_items('tests/test_lister_items-1.txt')
        self.assertEqual(len(items), 2)

        self.assertEqual(items[0].number, 1)
        self.assertEqual(items[0].section, 'test')
        self.assertEqual(items[0].condition_name, 'test condition')
        self.assertEqual(len(items[0].fields()), 1)

        self.assertEqual(items[1].number, 2)
        self.assertEqual(items[1].section, 'test')
        self.assertEqual(items[1].condition_name, 'another test condition')
        self.assertEqual(len(items[1].fields()), 2)
Beispiel #5
0
    def test_lister_trivial_latin_square_lists(self):
        items = lister.graceful_read_items('tests/test_lister_items-1.txt')
        self.assertEqual(len(items), 2)

        exp = lister.Experiment(items)
        self.assertEqual(len(exp.section_names), 1)
        self.assertEqual(exp.section_names[0], 'test')
        sec = exp.section('test')

        list0 = sec.latin_square_list(0)
        self.assertEqual(len(list0), 2)
        list1 = sec.latin_square_list(1)
        self.assertEqual(len(list1), 2)
        self.assertEqual(list0, list1)
Beispiel #6
0
    def test_items_file_whitespace(self):
        items = lister.graceful_read_items('tests/test_lister_items-2.txt')
        self.assertEqual(len(items), 1)

        self.assertEqual(items[0].number, 1)
        self.assertEqual(items[0].section, 'test')
        self.assertEqual(items[0].condition_name, 'test condition')

        # here is the tricky part: the item has three lines, the second of which
        # is blank. need to make sure this comes out as three fields.
        self.assertEqual(len(items[0].fields()), 3)

        # make sure we preserve whitespace, except for the line ending:
        self.assertEqual(items[0].field(0), u'  aaa  ')

        # second field should be blank
        self.assertEqual(len(items[0].field(1)), 0)

        # make sure we preserve whitespace, except for the line ending:
        self.assertEqual(items[0].field(2), u'\tccc\t')
Beispiel #7
0
    def test_lister_different_condition_names(self):
        items = lister.graceful_read_items('tests/test_lister_items-3.txt')
        self.assertEqual(len(items), 4)

        exp = lister.Experiment(items)
        self.assertEqual(len(exp.section_names), 1)
        self.assertEqual(exp.section_names[0], 'filler')
        sec = exp.section('filler')

        # two conditions at a time
        self.assertEqual(sec.condition_count, 2)
        cnames = sec.condition_sets
        # two different sets of condition names
        self.assertEqual(len(cnames), 2)
        # four actual distinct conditions
        self.assertEqual(len([cond for set in cnames for cond in set]), 4)

        excepted = False
        try:
            exp.verify()
        except SystemExit:
            excepted = True
        self.assertFalse(excepted)