packages feed

genvalidity-sydtest-0.0.0.0: test/Test/Syd/Validity/ShrinkingSpec.hs

{-# LANGUAGE TypeApplications #-}

module Test.Syd.Validity.ShrinkingSpec where

import Data.Int
import Data.Ratio
import Test.Syd
import Test.Syd.Validity.Shrinking

spec :: Spec
spec = do
  shrinkValiditySpec @(Ratio Int8)
  shrinkValidSpec @Int
  shrinkInvalidSpec @(Ratio Int8)
  describe "shrinkUncheckedPreservesValidOnGenValid" $ do
    it "Ordering" $ shrinkValidPreservesValidOnGenValid @Ordering
    it "[Ordering]" $ shrinkValidPreservesValidOnGenValid @[Ordering]
  describe "shrinkValidPreservesValidOnGenValid" $ do
    it "Ordering" $ shrinkValidPreservesValidOnGenValid @Ordering
    it "[Ordering]" $ shrinkValidPreservesValidOnGenValid @[Ordering]
  describe "shrinkInvalidPreservesInvalidOnGenInvalid" $ do
    it "Ratio Int8" $ shrinkInvalidPreservesInvalidOnGenInvalid @(Ratio Int8)
  describe "shrinkUncheckedDoesNotShrinkToItself" $ do
    it "Int" $ shrinkUncheckedDoesNotShrinkToItself @Int
    it "[Int]" $ shrinkUncheckedDoesNotShrinkToItself @[Int]
  describe "shrinkValidDoesNotShrinkToItself" $ do
    it "Ordering" $ shrinkValidDoesNotShrinkToItself @Ordering
    it "[Ordering]" $ shrinkValidDoesNotShrinkToItself @[Ordering]