packages feed

jsonlogic-0.1.0.0: test/Operation/Data/TestPreserve.hs

{-# LANGUAGE OverloadedLists #-}

module Operation.Data.TestPreserve where

import Generator.Data
import Hedgehog (forAll, property, (===))
import qualified Hedgehog.Gen as Gen
import JsonLogic.Json
import JsonLogic.Pure.Evaluator
import Test.Tasty
import Utils

preserveGeneratorTests :: TestTree
preserveGeneratorTests =
  testGroup
    "preserve generator tests"
    [ hTestProperty "preserve works" $
        property $ do
          paramJson <- forAll $ Gen.sized genSizedRandomJson
          Right paramJson === apply [] (JsonObject [("preserve", paramJson)]) JsonNull
    ]