packages feed

coincident-root-loci-0.2: test/Tests/RootVsClass/Recursive.hs

-- | Comparing the Chern root vs. the Chern class versions for stuff in
-- "Math.RootLoci.CSM.Equivariant.Recursive"

{-# LANGUAGE Rank2Types, GADTs, TypeFamilies #-}
module Tests.RootVsClass.Recursive where

--------------------------------------------------------------------------------

import Data.Proxy

import Math.Combinat.Partitions

import Math.RootLoci.Algebra
import Math.RootLoci.Geometry
import Math.RootLoci.Misc

import Math.RootLoci.CSM.Equivariant.Recursive 

import Tests.Common
import Tests.RootVsClass.Check

import Test.Tasty
import Test.Tasty.HUnit

--------------------------------------------------------------------------------

all_tests = testGroup "recursive"
  [ testCase "upper classes /setp" (forAllSetp 6 "failed" prop_upper_setp    )
  , testCase "upper classes /part" (forAllPart 7 "failed" prop_upper_part    )
  , testCase "lower classes" (forAllPart 7 "failed" prop_lower    )
  , testCase "open CSM"      (forAllPart 8 "failed" prop_openCSM  ) 
  , testCase "closed CSM"    (forAllPart 8 "failed" prop_closedCSM) 
  ]
  
prop_openCSM   part = checkGam (openCSM   part)
prop_closedCSM part = checkGam (closedCSM part)

prop_upper_setp setp = checkEta (upperClass $ setp)
prop_upper_part part = checkEta (upperClass $ defaultSetPartition part)

prop_lower part = checkGam (lowerClass part)

--------------------------------------------------------------------------------