{-# LANGUAGE StrictData #-} {-# LANGUAGE Trustworthy #-} module Tox.Network.Core.PacketKindSpec where import Test.Hspec import qualified Data.Binary as Binary (get) import qualified Data.Binary.Get as Binary (Get) import Data.Proxy (Proxy (..)) import Tox.Network.Core.EncodingSpec import Tox.Network.Core.PacketKind (PacketKind) spec :: Spec spec = do rpcSpec (Proxy :: Proxy PacketKind) binarySpec (Proxy :: Proxy PacketKind) readShowSpec (Proxy :: Proxy PacketKind) it "should handle invalid packet kinds as failures" $ do expectDecoderFailure [0xfe] "packet kind 254" expectDecoderFailure [0xff] "packet kind 255" where expectDecoderFailure = expectDecoderFail (Binary.get :: Binary.Get PacketKind)