packages feed

toxcore-0.2.11: test/Network/Tox/Protocol/PacketKindSpec.hs

{-# LANGUAGE Trustworthy #-}
module Network.Tox.Protocol.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           Network.Tox.EncodingSpec
import           Network.Tox.Protocol.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)