コード例 #1
0
 def testRemoveCondition(self):
     cs = ConditionSet(name='condition_set', data=self.table, setop='AND')
     cc = CategoricalCondition(data=self.table, attr='fake_cat')
     cs.add_condition(cc)
     cc.add_category('C1')
     self.assertItemsEqual(cs.reference, self.fake_sets['C1'])
     cs.remove_condition(cc)
     self.assertEqual(cs.reference, [])
コード例 #2
0
 def testAddCondition(self):
     cs = ConditionSet(name='condition_set', data=self.table, setop='AND')
     cc = CategoricalCondition(data=self.table, attr='fake_cat')
     cs.add_condition(cc)
     cc.add_category('C1')
     self.assertItemsEqual(cs.reference, self.fake_sets['C1'])
     cc.add_category(['C1', 'C3'])
     c1_and_c3 = self.fake_sets['C1'][:]
     c1_and_c3 += self.fake_sets['C3']
     self.assertItemsEqual(cs.reference, c1_and_c3)
コード例 #3
0
    def testEnablingChanges(self):
        cs = ConditionSet(name='condition_set', data=self.table, setop='AND')
        cc = CategoricalCondition(data=self.table, attr='fake_cat')
        rc = RangeCondition(data=self.table, attr='Information')
        rc.set_range(0.5, relative=True)

        cs.add_condition(cc)
        cc.add_category('C1')
        self.assertItemsEqual(cs.reference, self.fake_sets['C1'])
        cc.disable()
        print cs.query, cs.reference
        self.assertItemsEqual(cs.reference, [])

        cs.add_condition(rc)
        self.assertItemsEqual(cs.reference, ['CA', 'NY'])
        rc.enable(False)
        cc.enable()
        self.assertItemsEqual(cs.reference, self.fake_sets['C1'])

        cc.toggle_category(['C1', 'C3'])
        rc.enable()
        self.assertItemsEqual(cs.reference, ['NY'])

        rc.set_range(0, 1, relative=True)
        self.assertItemsEqual(cs.reference, self.fake_sets['C3'])
コード例 #4
0
ファイル: test_condition.py プロジェクト: igarciag/memcover
 def testToggleItem(self):
     cc = CategoricalCondition(data=self.table, attr='fake_cat')
     cc.add_category(['C1', 'C3'])
     cc.toggle_category('C1')
     cc.toggle_category('C2')
     self.assertEqual(set(cc.included_categories()), set(['C3', 'C2']))
     cc.toggle_category(['C2','C4'])
     self.assertEqual(set(cc.included_categories()), set(['C3', 'C4']))
コード例 #5
0
    def testAddSeveralConditions(self):
        cs = ConditionSet(name='condition_set', data=self.table, setop='AND')
        cc = CategoricalCondition(data=self.table, attr='fake_cat')
        rc = RangeCondition(data=self.table, attr='Information')
        rc.set_range(0.5, relative=True)

        cs.add_condition(cc)
        cc.add_category('C1')
        self.assertItemsEqual(cs.reference, self.fake_sets['C1'])

        cs.add_condition(rc)
        self.assertItemsEqual(cs.reference, ['CA'])

        cc.toggle_category(['C1', 'C3'])
        self.assertItemsEqual(cs.reference, ['NY'])

        rc.set_range(0, 1, relative=True)
        self.assertItemsEqual(cs.reference, self.fake_sets['C3'])
コード例 #6
0
ファイル: test_condition.py プロジェクト: igarciag/memcover
 def testExcludedItems(self):
     cc = CategoricalCondition(data=self.table, attr='fake_cat')
     cc.add_category(['C2', 'C3', 'C4'])
     self.assertSetEqual(set(cc.excluded_items()),
                      set(['AK', 'CA', 'DE', 'IA', 'KS', 'MD', 'MO',
                        'ND', 'NM', 'OK', 'SC', 'UT', 'WI']))
     cc.add_category('C1')
     self.assertSetEqual(set(cc.excluded_items()), set([]))
コード例 #7
0
ファイル: test_condition.py プロジェクト: igarciag/memcover
 def testExcludeAll(self):
     cc = CategoricalCondition(data=self.table, attr='fake_cat')
     cc.add_category('C1')
     cc.exclude_all()
     self.assertEqual(cc.included_categories(),[])
コード例 #8
0
ファイル: test_condition.py プロジェクト: igarciag/memcover
 def testIncludeAll(self):
     cc = CategoricalCondition(data=self.table, attr='fake_cat')
     cc.include_all()
     self.assertSetEqual(set(cc.included_categories()),
                         set(self.table.distinct('fake_cat')))
コード例 #9
0
ファイル: test_condition.py プロジェクト: igarciag/memcover
 def testRemove(self):
     cc = CategoricalCondition(data=self.table, attr='fake_cat')
     cc.add_category(['C1', 'C3'])
     cc.remove_category('C1')
     self.assertEqual(set(cc.included_categories()), set(['C3']))
コード例 #10
0
ファイル: test_condition.py プロジェクト: igarciag/memcover
    def testCreation(self):
        cc = CategoricalCondition(data=self.table, attr='fake_cat')
        self.assertEqual(cc.included_categories(), [])

        with self.assertRaises(NotImplementedError):
            cc = CategoricalCondition(data=self.table, attr='Information')