From d8b535b79025902035061a7eeb980a9e1fd871f3 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Wed, 24 Sep 2014 16:55:09 +0400 Subject: [PATCH] Convert some tests --- .idea/artifacts/swot_jar.xml | 2 +- .idea/libraries/junit_4_11.xml | 9 +++++++ .idea/misc.xml | 3 --- src/swot/Swot.kt | 12 +++------ swot.iml | 2 ++ test/swot/SwotTest.kt | 46 ++++++++++++++++++++++++++++++++++ 6 files changed, 62 insertions(+), 12 deletions(-) create mode 100644 .idea/libraries/junit_4_11.xml create mode 100644 test/swot/SwotTest.kt diff --git a/.idea/artifacts/swot_jar.xml b/.idea/artifacts/swot_jar.xml index a1a00a80d5..ee18aea8b2 100644 --- a/.idea/artifacts/swot_jar.xml +++ b/.idea/artifacts/swot_jar.xml @@ -1,7 +1,7 @@ $PROJECT_DIR$/out/artifacts/ - + diff --git a/.idea/libraries/junit_4_11.xml b/.idea/libraries/junit_4_11.xml new file mode 100644 index 0000000000..8bc92e2d37 --- /dev/null +++ b/.idea/libraries/junit_4_11.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index df290d270c..97320410ee 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -6,8 +6,5 @@ - - $USER_HOME$/.subversion - diff --git a/src/swot/Swot.kt b/src/swot/Swot.kt index c4470c84e6..0a23888bf8 100644 --- a/src/swot/Swot.kt +++ b/src/swot/Swot.kt @@ -28,7 +28,7 @@ private object Resources { private fun findSchoolNames(parts: List): List { val resourcePath = StringBuilder("") - for (part in parts.reverse()) { + for (part in parts) { resourcePath.append('/').append(part) val school = Resources.readList("${resourcePath}.txt") if (school != null) { @@ -40,19 +40,15 @@ private fun findSchoolNames(parts: List): List { } private fun domainParts(emailOrDomain: String): List { - return emailOrDomain.toLowerCase().substringAfter('@').split('.').toList() + return emailOrDomain.trim().toLowerCase().substringAfter('@').substringAfter("://").substringBefore(':').split('.').reverse() } private fun checkSet(set: Set, parts: List): Boolean { val subj = StringBuilder() for (part in parts) { - subj.append(part) + subj.insert(0, part) if (set.contains(subj.toString())) return true - subj.append('.') + subj.insert(0 ,'.') } return false } - -fun main(args: Array) { - println(isAcademic("max@mit.edu")) -} diff --git a/swot.iml b/swot.iml index 51cbd9f489..704ee1e915 100644 --- a/swot.iml +++ b/swot.iml @@ -5,10 +5,12 @@ + + diff --git a/test/swot/SwotTest.kt b/test/swot/SwotTest.kt new file mode 100644 index 0000000000..1e6dfbe37e --- /dev/null +++ b/test/swot/SwotTest.kt @@ -0,0 +1,46 @@ +package swot + +import kotlin.test.* +import junit.framework.* + +class SwotTest : TestCase() { + fun testSwot() { + assertEquals (true , isAcademic("lreilly@stanford.edu")) + assertEquals (true , isAcademic("LREILLY@STANFORD.EDU")) + assertEquals (true , isAcademic("Lreilly@Stanford.Edu")) + assertEquals (true , isAcademic("lreilly@slac.stanford.edu")) + assertEquals (true , isAcademic("lreilly@strath.ac.uk")) + assertEquals (true , isAcademic("lreilly@soft-eng.strath.ac.uk")) + assertEquals (true , isAcademic("lee@ugr.es")) + assertEquals (true , isAcademic("lee@uottawa.ca")) + assertEquals (true , isAcademic("lee@mother.edu.ru")) + assertEquals (true , isAcademic("lee@ucy.ac.cy")) + assertEquals (false, isAcademic("lee@leerilly.net")) + assertEquals (false, isAcademic("lee@gmail.com")) + assertEquals (false, isAcademic("lee@stanford.edu.com")) + assertEquals (false, isAcademic("lee@strath.ac.uk.com")) + assertEquals (true , isAcademic("stanford.edu")) + assertEquals (true , isAcademic("slac.stanford.edu")) + assertEquals (true , isAcademic("www.stanford.edu")) + assertEquals (true , isAcademic("http://www.stanford.edu")) + assertEquals (true , isAcademic("http://www.stanford.edu:9393")) + assertEquals (true , isAcademic("strath.ac.uk")) + assertEquals (true , isAcademic("soft-eng.strath.ac.uk")) + assertEquals (true , isAcademic("ugr.es")) + assertEquals (true , isAcademic("uottawa.ca")) + assertEquals (true , isAcademic("mother.edu.ru")) + assertEquals (true , isAcademic("ucy.ac.cy")) + assertEquals (false, isAcademic("leerilly.net")) + assertEquals (false, isAcademic("gmail.com")) + assertEquals (false, isAcademic("stanford.edu.com")) + assertEquals (false, isAcademic("strath.ac.uk.com")) + assertEquals (false, isAcademic("")) + assertEquals (false, isAcademic("the")) + assertEquals (true , isAcademic(" stanford.edu")) + assertEquals (true , isAcademic("lee@strath.ac.uk ")) + assertEquals (false, isAcademic(" gmail.com ")) + assertEquals (true , isAcademic("lee@stud.uni-corvinus.hu")) + assertEquals (true , isAcademic("lee@harvard.edu")) + assertEquals (true , isAcademic("lee@mail.harvard.edu")) + } +}