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