module TrackTest exposing (specs) import Fixtures import Track exposing (Track, Point) import Test exposing (..) import Expect exposing (Expectation) import Time specs: Test specs = describe "XML Parsing" [ test "it parses points" <| \_ -> case Track.parse Fixtures.threepoints of (Ok trk) -> Expect.equalLists Fixtures.threepoints_expected trk _ -> Expect.fail "not ok" , test "missing child ele node in track point" <| \_ -> let xml = String.replace "64.8" "" Fixtures.threepoints in case Track.parse xml of Ok (p::pts) -> Expect.equal p (Point (51.600643, -0.01856, Nothing) (Just (Time.millisToPosix 1729669252256))) Ok _ -> Expect.fail "empty list" (Err f) -> Expect.fail f , test "multiple trksegs are coalesced" <| \_ -> let xml = String.replace "" "" Fixtures.threepoints in case Track.parse xml of (Ok trk) -> Expect.equalLists Fixtures.threepoints_expected trk _ -> Expect.fail "not ok" ]