packages feed

lord-1.20131130: test/main.hs

{-# LANGUAGE OverloadedStrings #-}
import Data.Maybe (fromJust)
import Test.Hspec
import Test.HUnit

import Radio
import qualified Radio.Cmd as Cmd
import qualified Radio.EightTracks as ET
import Radio.Douban
import Radio.Jing
import qualified Radio.Reddit as Reddit


main :: IO ()
main = do
    hspec spec

spec :: Spec
spec = do
    describe "getPlaylist" $ do
        it "cmd: given genre" $ do
            ss <- Radio.getPlaylist (Cmd.Genre "Dream Pop")
            assert $ length ss > 0

        it "douban: given channel id" $ do
            ss <- Radio.getPlaylist (Cid 6)
            assert $ length ss > 0
    
        it "douban: given musician name" $ do
            ss <- Radio.getPlaylist (Musician "Sigur RóS")
            assert $ length ss > 0

        it "8tracks: given mix id" $ do
            tok <- readToken "14" :: IO (Maybe (Radio.Param ET.EightTracks))
            ss <- Radio.getPlaylist $ fromJust tok
            assert $ length ss > 0

        it "jing: given keywords" $ do
            tok <- readToken "postrock" :: IO (Maybe (Radio.Param Jing))
            ss <- Radio.getPlaylist $ fromJust tok
            assert $ length ss > 0

        it "reddit: given genre" $ do
            ss <- Radio.getPlaylist (Reddit.Genre "indie")
            assert $ length ss > 0