Merge pull request #19 from tgecho/leap

Add leap exercise
This commit is contained in:
Lew Parker 2016-03-13 11:25:06 -06:00
commit e43df831e1
5 changed files with 34 additions and 0 deletions

View file

@ -6,6 +6,7 @@
"test_pattern": "TODO",
"problems": [
"hello_world",
"leap",
"bob"
],
"deprecated": [

View file

@ -6,6 +6,7 @@
"source-directories": [
".",
"./exercises/hello_world",
"./exercises/leap",
"./exercises/bob"
],
"exposed-modules": [],

1
exercises/leap/Leap.elm Normal file
View file

@ -0,0 +1 @@
module Leap (..) where

View file

@ -0,0 +1,6 @@
module Leap (..) where
isLeapYear : Int -> Bool
isLeapYear year =
year % 4 == 0 && (year % 100 /= 0 || year % 400 == 0)

View file

@ -0,0 +1,25 @@
module Main (..) where
import Task
import Console
import ElmTest exposing (..)
import Leap
tests : Test
tests =
suite
"Leap"
[ test "leap year" (assertEqual True (Leap.isLeapYear 1996))
, test "non-leap year" (assertEqual False (Leap.isLeapYear 1997))
, test "non-leap even year" (assertEqual False (Leap.isLeapYear 1998))
, test "century" (assertEqual False (Leap.isLeapYear 1900))
, test "second century" (assertEqual False (Leap.isLeapYear 1800))
, test "fourth century" (assertEqual True (Leap.isLeapYear 2400))
, test "y2k" (assertEqual True (Leap.isLeapYear 2000))
]
port runner : Signal (Task.Task x ())
port runner =
Console.run (consoleRunner tests)