diff --git a/exercises/leap/example.scala b/exercises/leap/example.scala index 4631ea71..8265b9a0 100644 --- a/exercises/leap/example.scala +++ b/exercises/leap/example.scala @@ -1,5 +1,5 @@ -case class Year(year: Int) { - lazy val isLeap: Boolean = divisibleBy(4) && (divisibleBy(400) || !divisibleBy(100)) - - private def divisibleBy(i: Int) = year % i == 0 +object Year { + def isLeap(year: Int): Boolean = { + def divisibleBy(i: Int) = year % i == 0 + divisibleBy(4) && (divisibleBy(400) || !divisibleBy(100))} } diff --git a/exercises/leap/src/main/scala/Leap.scala b/exercises/leap/src/main/scala/Leap.scala new file mode 100644 index 00000000..69ef9d41 --- /dev/null +++ b/exercises/leap/src/main/scala/Leap.scala @@ -0,0 +1,3 @@ +object Year { + def isLeap(year: Int): Boolean = ??? +} diff --git a/exercises/leap/src/test/scala/LeapTest.scala b/exercises/leap/src/test/scala/LeapTest.scala index d9810cde..77624f35 100644 --- a/exercises/leap/src/test/scala/LeapTest.scala +++ b/exercises/leap/src/test/scala/LeapTest.scala @@ -2,31 +2,31 @@ import org.scalatest._ class LeapTest extends FunSuite { test ("vanilla leap year") { - assert(Year(1996).isLeap) + assert(Year.isLeap(1996)) } test ("any old year") { pending - assert(!Year(1997).isLeap) + assert(!Year.isLeap(1997)) } test("an even year") { pending - assert(!Year(1986).isLeap) + assert(!Year.isLeap(1986)) } test ("century") { pending - assert(!Year(1900).isLeap) + assert(!Year.isLeap(1900)) } test ("exceptional century") { pending - assert(Year(2000).isLeap) + assert(Year.isLeap(2000)) } test("exceptional century that is no millenium") { pending - assert(Year(1600).isLeap) + assert(Year.isLeap(1600)) } }