diff --git a/classifier/scheme/person.js b/classifier/scheme/person.js index 878dbad7..a3a8c841 100644 --- a/classifier/scheme/person.js +++ b/classifier/scheme/person.js @@ -51,6 +51,25 @@ module.exports = [ } ] }, + { + // Raul Leite Magalhães (first name, middle name, family name) + confidence: 0.5, + Class: PersonClassification, + scheme: [ + { + is: ['GivenNameClassification'], + not: ['StreetClassification', 'IntersectionClassification'] + }, + { + is: ['GivenNameClassification', 'SurnameClassification'], + not: ['StreetClassification', 'IntersectionClassification'] + }, + { + is: ['SurnameClassification'], + not: ['StreetClassification', 'StreetPrefixClassification', 'StopWordClassification'] + } + ] + }, { // Unknown surname confidence: 0.1, diff --git a/test/address.bra.test.js b/test/address.bra.test.js new file mode 100644 index 00000000..d9178faf --- /dev/null +++ b/test/address.bra.test.js @@ -0,0 +1,20 @@ +const testcase = (test, common) => { + let assert = common.assert(test) + + assert('Rua Raul Leite Magalhães, 65, Tapiraí - SP, 18180-000, Brazil', [ + { street: 'Rua Raul Leite Magalhães' }, + { housenumber: '65' }, + { locality: 'Tapiraí' }, + { region: 'SP' }, + { postcode: '18180' }, + { country: 'Brazil' } + ]) +} + +module.exports.all = (tape, common) => { + function test (name, testFunction) { + return tape(`address BRA: ${name}`, testFunction) + } + + testcase(test, common) +}