예제 #1
0
 def test_008a_ruler(self):
     rules = [
         Upper('normal'),
         Upper('to_upper'),
     ]
     ruler = Ruler(Upper, rules)
     self.assertEqual(ruler.type, 'upper')
     self.assertEqual(len(ruler.rules), 2)
     ruler.apply(self.data)
     self.assertEqual(self.data['normal'], 'MESSAGE')
     self.assertEqual(self.data['to_upper'], 'UPPERCASE')
예제 #2
0
 def test_008b_ruler_from_dict(self):
     rules = {
         'type': 'lookup',
         'rules': [
             {'fieldname': 'normal', 'table': {'message': 'lookup'}},
             {'fieldname': 'to_upper', 'table': {'uppercase': 'lookup'}},
         ]
     }
     ruler = Ruler.from_dict(rules)
     self.assertEqual(ruler.type, 'lookup')
     self.assertEqual(len(ruler.rules), 2)
     ruler.apply(self.data)
     self.assertEqual(self.data['normal'], 'lookup')
     self.assertEqual(self.data['to_upper'], 'lookup')
예제 #3
0
    def test_008c_ruler_with_global_params(self):

        class MyTestRule(_Rule):

            def _configure(self, test, g_test):
                self.g_test = g_test

        rules = {
            'type': 'mytestrule',
            'rules': [
                {'test': 'val1', 'fieldname': 'test_field'},
                {'test': 'val2', 'fieldname': 'test_field'},
            ],
            'global_params': {
                'g_test': True
            }
        }

        ruler = Ruler.from_dict(rules)
        for rule in ruler.rules:
            self.assertTrue(rule.g_test)