repos / handle-examples.hs.git


handle-examples.hs.git / backpack-handle / test
Evgenii Akentev  ·  2021-01-07

Test.hs

 1import Test.Hspec
 2
 3import qualified WeatherProvider
 4import qualified WeatherReporter
 5
 6main :: IO ()
 7main = hspec spec
 8
 9weatherWithTemp :: WeatherProvider.Temperature -> WeatherReporter.Handle
10weatherWithTemp = WeatherReporter.new
11  . WeatherProvider.new
12  . WeatherProvider.Config
13
14spec :: Spec
15spec = describe "WeatherReporter" $ do
16  it "weather in London is 0" $ do
17    weatherReportInLondon <- WeatherReporter.getCurrentWeatherReportInLondon $
18      weatherWithTemp 0
19    weatherReportInLondon `shouldBe` "The current temperature in London is 0"
20  it "weather in London is -5" $ do
21    weatherReportInLondon <- WeatherReporter.getCurrentWeatherReportInLondon $
22      weatherWithTemp (-5)
23    weatherReportInLondon `shouldBe` "The current temperature in London is -5"