-- | Tests for the non-equivarant CSM classes {-# LANGUAGE Rank2Types, GADTs, TypeFamilies, PackageImports #-} module Tests.CSM.Projective where -------------------------------------------------------------------------------- import Data.Proxy import Math.Combinat.Classes import Math.Combinat.Partitions.Integer import Math.Combinat.Partitions.Set import qualified "polynomial-algebra" Math.Algebra.Polynomial.FreeModule as ZMod import Math.RootLoci.Algebra import Math.RootLoci.Geometry import Math.RootLoci.Misc import qualified Math.RootLoci.CSM.Equivariant.Ordered as Ordered import qualified Math.RootLoci.CSM.Equivariant.Direct as Direct import Math.RootLoci.Classic import qualified Math.RootLoci.CSM.Aluffi as Aluffi import qualified Math.RootLoci.CSM.Projective as Proj import Tests.Common import Test.Tasty import Test.Tasty.HUnit -------------------------------------------------------------------------------- all_tests = testGroup "non-equivariant CSM classes" [ testGroup "unordered" [ testCase "aluffi == recursive (open)" (forAllPart 10 "failed" prop_aluffi_vs_recursive_open ) , testCase "aluffi == recursive (closed)" (forAllPart 10 "failed" prop_aluffi_vs_recursive_closed ) , testCase "aluffi == from equiv (open)" (forAllPart 10 "failed" prop_aluffi_vs_equiv_open ) , testCase "aluffi == from equiv. (closed)" (forAllPart 10 "failed" prop_aluffi_vs_equiv_closed ) , testCase "degree == lowest coeff of CSM" (forAllPart 10 "failed" prop_csm_degree ) ] ] prop_aluffi_vs_recursive_open part = (Proj.openCSM part == Aluffi.aluffiOpenCSM part) prop_aluffi_vs_recursive_closed part = (Proj.closedCSM part == Aluffi.aluffiClosedCSM part) prop_aluffi_vs_equiv_open part = (Aluffi.aluffiOpenCSM part == forgetEquiv (spec2' ChernClass $ Direct.directOpenCSM part)) prop_aluffi_vs_equiv_closed part = (Aluffi.aluffiClosedCSM part == forgetEquiv (spec2' ChernClass $ Direct.directClosedCSM part)) prop_csm_degree part = (hilbert part == Proj.lowestCoeff_ (Proj.closedCSM part)) --------------------------------------------------------------------------------