spec/parser/scientific_name_spec.rb in biodiversity19-3.1.4 vs spec/parser/scientific_name_spec.rb in biodiversity19-3.1.5
- old
+ new
@@ -6,34 +6,35 @@
describe ScientificNameParser do
before(:all) do
set_parser(ScientificNameParser.new)
end
- it 'should return version number' do
- ScientificNameParser.version.should =~ /^\d+\.\d+\.\d+/
+ it 'returns version number' do
+ expect(ScientificNameParser.version).to match /^\d+\.\d+\.\d+/
end
- it 'should ScientificNameParser::fix_case' do
+ it 'fixes cases' do
names = [
['QUERCUS ALBA', 'Quercus alba'],
['QUERCUS (QUERCUS) ALBA', 'Quercus (Quercus) alba'],
['QÜERCUS', 'Qüercus'],
['PARDOSA MOéSTA', 'Pardosa moésta'],
]
names.each do |name, capitalization|
- ScientificNameParser::fix_case(name).should == capitalization
+ expect(ScientificNameParser::fix_case(name)).to eq capitalization
end
end
- it 'should generate standardized json' do
+ it 'generates standardized json' do
read_test_file do |y|
- JSON.load(json(y[:name])).should == JSON.load(y[:jsn]) unless y[:comment]
+ expect(JSON.load(json(y[:name]))).to eq JSON.
+ load(y[:jsn]) unless y[:comment]
end
end
- # it 'should generate new test_file' do
+ # it 'generates new test_file' do
# new_test = open(File.expand_path(dir +
# '../../spec/parser/test_data_new.txt'),'w')
# read_test_file do |y|
# if y[:comment]
# new_test.write y[:comment]
@@ -43,98 +44,99 @@
# new_test.write("#{name}|#{jsn}\n")
# end
# end
# end
- it 'should generate reasonable output if parser failed' do
+ it 'generates reasonable output if parser failed' do
sn = 'ddd sljlkj 3223452432'
- json(sn).should == '{"scientificName":{"parsed":false,' +
+ expect(json(sn)).to eq '{"scientificName":{"parsed":false,' +
'"parser_version":"test_version","verbatim":"ddd sljlkj 3223452432"}}'
end
- it 'should show version when the flag :show_version set to true' do
- parse('Homo sapiens')[:scientificName][:parser_version].should_not be_nil
+ it 'shows version when the flag :show_version set to true' do
+ expect(parse('Homo sapiens')[:scientificName][:parser_version]).
+ to_not be_nil
end
- it 'should show version for not spelled names' do
- parse('not_a_name')[:scientificName][:parser_version].should_not be_nil
+ it 'shows version for not spelled names' do
+ expect(parse('not_a_name')[:scientificName][:parser_version]).to_not be_nil
end
- it 'should generate version for viruses' do
- parse('Nile virus')[:scientificName][:parser_version].should_not be_nil
+ it 'generates version for viruses' do
+ expect(parse('Nile virus')[:scientificName][:parser_version]).to_not be_nil
end
end
describe 'ScientificNameParser with ranked canonicals' do
before(:all) do
@parser = ScientificNameParser.new(canonical_with_rank: true)
end
- it 'should not influence output for uninomials and binomials' do
+ it 'does not influence output for uninomials and binomials' do
data = [
['Ekbainacanthus Yakowlew 1902','Ekbainacanthus'],
['Ekboarmia sagnesi herrerai Exposito 2007',
'Ekboarmia sagnesi herrerai'],
['Ekboarmia holli Oberthür', 'Ekboarmia holli']]
data.each do |d|
parsed = @parser.parse(d[0])[:scientificName][:canonical]
- parsed.should == d[1]
+ expect(parsed).to eq d[1]
end
end
- it 'should preserve rank for ranked multinomials' do
+ it 'preserves rank for ranked multinomials' do
data = [
['Cola cordifolia var. puberula A. Chev.',
'Cola cordifolia var. puberula'],
['Abies homolepis forma umbilicata (Mayr) Schelle',
'Abies homolepis forma umbilicata'],
['Quercus ilex ssp. ballota (Desf.) Samp',
'Quercus ilex ssp. ballota']
]
data.each do |d|
parsed = @parser.parse(d[0])[:scientificName][:canonical]
- parsed.should == d[1]
+ expect(parsed).to eq d[1]
end
end
end
describe ParallelParser do
- it 'should find number of cpus' do
+ it 'finds number of cpus' do
pparser = ParallelParser.new
- pparser.cpu_num.should > 0
+ expect(pparser.cpu_num).to be > 0
end
- it 'should parse several names in parallel' do
+ it 'parses several names in parallel' do
names = []
read_test_file { |n| names << (n[:name]) if n[:name] }
names.uniq!
pparser = ParallelParser.new
res = pparser.parse(names)
- names.size.should > 100
- res.keys.size.should == names.size
+ expect(names.size).to be > 100
+ expect(res.keys.size).to eq names.size
end
- it 'should parse several names in parallel with given num of processes' do
+ it 'parses several names in parallel with given num of processes' do
names = []
read_test_file { |n| names << (n[:name]) if n[:name] }
names.uniq!
pparser = ParallelParser.new(4)
res = pparser.parse(names)
- names.size.should > 100
- res.keys.size.should == names.size
+ expect(names.size).to be > 100
+ expect(res.keys.size).to eq names.size
end
- it 'should have parsed name in native ruby format and in returned as \
+ it 'has parsed name in native ruby format and in returned as \
a hash with name as a key and parsed data as value' do
names = []
read_test_file { |n| names << (n[:name]) if n[:name] }
names.uniq!
pparser = ParallelParser.new(4)
res = pparser.parse(names)
names.each_with_index do |name, i|
- res[name].is_a?(Hash).should be_true
- res[name][:scientificName][:verbatim].should == name.strip
+ expect(res[name].is_a?(Hash)).to be true
+ expect(res[name][:scientificName][:verbatim]).to eq name.strip
end
end
end