Ejemplo n.º 1
0
class TestSeparatorsRegexRuler(object):  #(TestRuler):
    def setUp(self):
        self.ruler = SeparatorsRegexRuler()
        super(TestSeparatorsRegexRuler, self).setUp()

        self.example06 = Example([
            '(Botella.*P\.|P\..*Botella)', '(Solona.*B\.|B\..*Solsona)',
            '(A\..*Martinez-Arias|Martinez-Arias.*A\.)',
            '(J\.M\..*Nieto|Nieto.*J\.M\.)'
        ], [
            u'P. Botella1, B. Solsona1, '
            'A. Martinez-Arias2 and J.M. '
            'Lopez Nieto1'
        ])

        self.example07 = Example([
            '(Cabre.*L\.|L\..*Cabre)', '(Mancebo.*J\.|J\..*Mancebo)',
            '(J\..*Solsona|Solsona.*J\.)'
        ], u'L. Cabre1, J. Mancebo2, J. F. Solsona3, '
                                 ' and the Bioethics Working '
                                 'Group of the SEMICYUC')

    def test_find_separators(self):
        pattern = '(.*)1, (.*)1, (.*)2 and (.*)1 '
        separators = self.ruler._find_separators(pattern)
        self.failUnless(separators == ['1\\,\\ ', '2\\ and\\ '])

    def test_merge_separators(self):
        sep01 = [u'1, ', u'2, ', u'2 and ']
        sep02 = [u'1, ', u'3, ', u'2 and ']
        expected = [u'1\\,\\ ', '2\\,\\ ', u'2\\ and\\ ', u'3\\,\\ ']
        result = self.ruler._merge_separators(sep01, sep02)
        self.failUnless(result == expected)

    def test_rule_example(self):
        rules = self.ruler._rule_example(self.example06)
        self.failUnless(len(rules) == 1)
        self.failUnless(len(rules[0].pattern) == 2)

    def test_rule(self):
        rules = self.ruler.rule([self.example06, self.example07])
        self.failUnless(len(rules[0].pattern) == 3)
        pass
Ejemplo n.º 2
0
class TestSeparatorsRegexRuler(object):#(TestRuler):
    def setUp(self):
        self.ruler = SeparatorsRegexRuler()
        super(TestSeparatorsRegexRuler, self).setUp()
        
        self.example06 = Example(['(Botella.*P\.|P\..*Botella)',
                          '(Solona.*B\.|B\..*Solsona)',
                          '(A\..*Martinez-Arias|Martinez-Arias.*A\.)',
                          '(J\.M\..*Nieto|Nieto.*J\.M\.)'],
                          [u'P. Botella1, B. Solsona1, '
                           'A. Martinez-Arias2 and J.M. '
                           'Lopez Nieto1'])     

        self.example07 = Example(['(Cabre.*L\.|L\..*Cabre)',
                          '(Mancebo.*J\.|J\..*Mancebo)',
                          '(J\..*Solsona|Solsona.*J\.)'],
                          u'L. Cabre1, J. Mancebo2, J. F. Solsona3, '
                          ' and the Bioethics Working '
                           'Group of the SEMICYUC')             

        
    def test_find_separators(self):
        pattern = '(.*)1, (.*)1, (.*)2 and (.*)1 '
        separators = self.ruler._find_separators(pattern)
        self.failUnless(separators == ['1\\,\\ ', '2\\ and\\ '])
    
    def test_merge_separators(self):
        sep01 = [u'1, ', u'2, ', u'2 and ']
        sep02 = [u'1, ', u'3, ', u'2 and ']
        expected = [u'1\\,\\ ', '2\\,\\ ', u'2\\ and\\ ', u'3\\,\\ ']
        result = self.ruler._merge_separators(sep01, sep02)
        self.failUnless(result == expected)
    
    def test_rule_example(self):
        rules = self.ruler._rule_example(self.example06)
        self.failUnless(len(rules) == 1)
        self.failUnless(len(rules[0].pattern) == 2)
    
    def test_rule(self):
        rules = self.ruler.rule([self.example06, self.example07])
        self.failUnless(len(rules[0].pattern) == 3)
        pass