class TestElementsRegexRuler(object):#(TestRuler):
    def setUp(self):
        self.ruler = ElementsRegexRuler()
        super(TestElementsRegexRuler, self).setUp()
        
        self.example06 = Example(['(Alberto.*Angel|Angel.*Alberto)',
                                  '(Geurts.*Pierre|Pierre.*Geurts)',
                                  '(Damien.*Ernst|Ernst.*Damien)'],
                                 ['The author Alberto Del Angel',
                                  'Pierre Geurts The author',
                                  'Damien Ernst'])

        self.example07 = Example(['(Alberto.*Angel|Angel.*Alberto)',
                                  '(Geurts.*Pierre|Pierre.*Geurts)',
                                  '(Damien.*Ernst|Ernst.*Damien)'],
                                 ['Alberto Del Angel',
                                  'Pierre Geurts',
                                  'Damien Ernst'])
        
    def test_rule_example(self):
        result = self.ruler._rule_example(self.example06)
        self.failUnless(result[0].pattern == u'The\\ author\\ (.*)')

    def test_rule(self):
        rules = self.ruler.rule([self.example06, self.example07])
        self.failUnless(len(rules) == 2)
class TestElementsRegexRuler(object):  #(TestRuler):
    def setUp(self):
        self.ruler = ElementsRegexRuler()
        super(TestElementsRegexRuler, self).setUp()

        self.example06 = Example([
            '(Alberto.*Angel|Angel.*Alberto)',
            '(Geurts.*Pierre|Pierre.*Geurts)', '(Damien.*Ernst|Ernst.*Damien)'
        ], [
            'The author Alberto Del Angel', 'Pierre Geurts The author',
            'Damien Ernst'
        ])

        self.example07 = Example([
            '(Alberto.*Angel|Angel.*Alberto)',
            '(Geurts.*Pierre|Pierre.*Geurts)', '(Damien.*Ernst|Ernst.*Damien)'
        ], ['Alberto Del Angel', 'Pierre Geurts', 'Damien Ernst'])

    def test_rule_example(self):
        result = self.ruler._rule_example(self.example06)
        self.failUnless(result[0].pattern == u'The\\ author\\ (.*)')

    def test_rule(self):
        rules = self.ruler.rule([self.example06, self.example07])
        self.failUnless(len(rules) == 2)