test/test_swot.rb in swot-0.4.2 vs test/test_swot.rb in swot-1.0.0
- old
+ new
@@ -1,82 +1,90 @@
# encoding: UTF-8
require 'helper'
describe Swot do
it "recognizes academic email addresses and domains" do
- assert_equal Swot::is_academic?('lreilly@stanford.edu'), true
- assert_equal Swot::is_academic?('LREILLY@STANFORD.EDU'), true
- assert_equal Swot::is_academic?('Lreilly@Stanford.Edu'), true
- assert_equal Swot::is_academic?('lreilly@slac.stanford.edu'), true
- assert_equal Swot::is_academic?('lreilly@strath.ac.uk'), true
- assert_equal Swot::is_academic?('lreilly@soft-eng.strath.ac.uk'), true
- assert_equal Swot::is_academic?('lee@ugr.es'), true
- assert_equal Swot::is_academic?('lee@uottawa.ca'), true
- assert_equal Swot::is_academic?('lee@mother.edu.ru'), true
- assert_equal Swot::is_academic?('lee@ucy.ac.cy'), true
+ assert Swot::is_academic?('lreilly@stanford.edu')
+ assert Swot::is_academic?('LREILLY@STANFORD.EDU')
+ assert Swot::is_academic?('Lreilly@Stanford.Edu')
+ assert Swot::is_academic?('lreilly@slac.stanford.edu')
+ assert Swot::is_academic?('lreilly@strath.ac.uk')
+ assert Swot::is_academic?('lreilly@soft-eng.strath.ac.uk')
+ assert Swot::is_academic?('lee@ugr.es')
+ assert Swot::is_academic?('lee@uottawa.ca')
+ assert Swot::is_academic?('lee@mother.edu.ru')
+ assert Swot::is_academic?('lee@ucy.ac.cy')
- assert_equal Swot::is_academic?('lee@leerilly.net'), false
- assert_equal Swot::is_academic?('lee@gmail.com'), false
- assert_equal Swot::is_academic?('lee@stanford.edu.com'), false
- assert_equal Swot::is_academic?('lee@strath.ac.uk.com'), false
+ assert_not Swot::is_academic?('lee@leerilly.net')
+ assert_not Swot::is_academic?('lee@gmail.com')
+ assert_not Swot::is_academic?('lee@stanford.edu.com')
+ assert_not Swot::is_academic?('lee@strath.ac.uk.com')
- assert_equal Swot::is_academic?('stanford.edu'), true
- assert_equal Swot::is_academic?('slac.stanford.edu'), true
- assert_equal Swot::is_academic?('www.stanford.edu'), true
- assert_equal Swot::is_academic?('http://www.stanford.edu'), true
- assert_equal Swot::is_academic?('http://www.stanford.edu:9393'), true
- assert_equal Swot::is_academic?('strath.ac.uk'), true
- assert_equal Swot::is_academic?('soft-eng.strath.ac.uk'), true
- assert_equal Swot::is_academic?('ugr.es'), true
- assert_equal Swot::is_academic?('uottawa.ca'), true
- assert_equal Swot::is_academic?('mother.edu.ru'), true
- assert_equal Swot::is_academic?('ucy.ac.cy'), true
+ assert Swot::is_academic?('stanford.edu')
+ assert Swot::is_academic?('slac.stanford.edu')
+ assert Swot::is_academic?('www.stanford.edu')
+ assert Swot::is_academic?('http://www.stanford.edu')
+ assert Swot::is_academic?('http://www.stanford.edu:9393')
+ assert Swot::is_academic?('strath.ac.uk')
+ assert Swot::is_academic?('soft-eng.strath.ac.uk')
+ assert Swot::is_academic?('ugr.es')
+ assert Swot::is_academic?('uottawa.ca')
+ assert Swot::is_academic?('mother.edu.ru')
+ assert Swot::is_academic?('ucy.ac.cy')
- assert_equal Swot::is_academic?('leerilly.net'), false
- assert_equal Swot::is_academic?('gmail.com'), false
- assert_equal Swot::is_academic?('stanford.edu.com'), false
- assert_equal Swot::is_academic?('strath.ac.uk.com'), false
+ assert_not Swot::is_academic?('leerilly.net')
+ assert_not Swot::is_academic?('gmail.com')
+ assert_not Swot::is_academic?('stanford.edu.com')
+ assert_not Swot::is_academic?('strath.ac.uk.com')
- assert_equal Swot::is_academic?(nil), false
- assert_equal Swot::is_academic?(''), false
- assert_equal Swot::is_academic?('the'), false
+ assert_not Swot::is_academic?(nil)
+ assert_not Swot::is_academic?('')
+ assert_not Swot::is_academic?('the')
- assert_equal Swot::is_academic?(' stanford.edu'), true
- assert_equal Swot::is_academic?('lee@strath.ac.uk '), true
- assert_equal Swot::is_academic?(' gmail.com '), false
+ assert Swot::is_academic?(' stanford.edu')
+ assert Swot::is_academic?('lee@strath.ac.uk ')
+ assert_not Swot::is_academic?(' gmail.com ')
- assert_equal Swot::is_academic?('lee@stud.uni-corvinus.hu'), true
+ assert Swot::is_academic?('lee@stud.uni-corvinus.hu')
# overkill
- assert_equal Swot::is_academic?('lee@harvard.edu'), true
- assert_equal Swot::is_academic?('lee@mail.harvard.edu'), true
+ assert Swot::is_academic?('lee@harvard.edu')
+ assert Swot::is_academic?('lee@mail.harvard.edu')
end
it "returns name of valid institution" do
- assert_equal Swot::get_institution_name('lreilly@cs.strath.ac.uk'), "University of Strathclyde"
- assert_equal Swot::get_institution_name('lreilly@fadi.at'), "BRG Fadingerstraße Linz, Austria"
+ assert_equal "University of Strathclyde", Swot::get_institution_name('lreilly@cs.strath.ac.uk')
+ assert_equal "BRG Fadingerstraße Linz, Austria", Swot::get_institution_name('lreilly@fadi.at')
end
it "returns nil when institution invalid" do
- assert_equal Swot::get_institution_name('foo@shop.com'), nil
+ assert_not Swot::get_institution_name('foo@shop.com')
end
it "test aliased methods" do
- assert_equal Swot::academic?('stanford.edu'), true
- assert_equal Swot::school_name('lreilly@cs.strath.ac.uk'), "University of Strathclyde"
+ assert Swot::academic?('stanford.edu')
+ assert_equal "University of Strathclyde", Swot::school_name('lreilly@cs.strath.ac.uk')
end
it "fail blacklisted domains" do
["si.edu", " si.edu ", "imposter@si.edu", "foo.si.edu", "america.edu"].each do |domain|
- assert_equal false, Swot::is_academic?(domain), "#{domain} should be denied"
+ assert_not Swot::is_academic?(domain), "#{domain} should be denied"
end
end
it "not err on tld-only domains" do
Swot::is_academic? ".com"
- assert_equal false, Swot::is_academic?(".com")
+ assert_not Swot::is_academic?(".com")
end
it "does not err on invalid domains" do
- assert_equal false, Swot::is_academic?("foo@bar.invalid")
+ assert_not Swot::is_academic?("foo@bar.invalid")
+ end
+
+ it "contains only text files" do
+ Dir.glob("lib/domains/**/*") do |file|
+ if not File.directory?(file)
+ assert file.end_with?(".txt"), "#{file} should have a .txt extension"
+ end
+ end
end
end