module Tests exposing (..) import Test exposing (..) import Expect import DifferenceOfSquares exposing (squareOfSum, sumOfSquares, difference) tests : Test tests = describe "DifferenceOfSquares" [ describe "square the sum of the numbers up to the given number" [ test "square of sum 5" <| \() -> Expect.equal 225 (squareOfSum 5) , test "square of sum 10" <| \() -> Expect.equal 3025 (squareOfSum 10) , test "square of sum 100" <| \() -> Expect.equal 25502500 (squareOfSum 100) ] , describe "sum the squares of the numbers up to the given number" [ test "sum of squares 5" <| \() -> Expect.equal 55 (sumOfSquares 5) , test "sum of squares 10" <| \() -> Expect.equal 385 (sumOfSquares 10) , test "sum of squares 100" <| \() -> Expect.equal 338350 (sumOfSquares 100) ] , describe "subtract sum of squares from square of sums" [ test "difference of squares 0" <| \() -> Expect.equal 0 (difference 0) , test "difference of squares 5" <| \() -> Expect.equal 170 (difference 5) , test "difference of squares 10" <| \() -> Expect.equal 2640 (difference 10) , test "difference of squares 100" <| \() -> Expect.equal 25164150 (difference 100) ] ]