module TestPureSet where
    import HomogeneousSet
    import PureSet
    import Data.List (intercalate)
    
    -- | Tests all functions related to pure sets.
    main :: IO ()
    main = do
            putStrLn "Beginning of TestPureSet"
            putStrLn.show $ emptySet
            putStrLn.show $ singleton $ emptySet
            putStrLn.show $ pair emptySet emptySet
            putStrLn.show $ numberToSet <$> [0,3]
            putStrLn $ intercalate "\n" $ formatPureSet <$> numberToSet <$> [0..3]
            putStrLn.prettify $ pureSet [pureSet [pureSet []],pureSet [], pureSet [],pureSet [pureSet [],pureSet [pureSet [pureSet [pureSet [pureSet []]]]]]]
            putStrLn.formatPureSet $ pureSet [pureSet [pureSet []],pureSet [], pureSet [],pureSet [pureSet [],pureSet [pureSet [pureSet [pureSet [pureSet []]]]]]]
            putStrLn "End of TestPureSet"
    