packages feed

password-types-1.0.0.0: test/tasty/Spec.hs

module Main where

import Data.String (fromString)
import Data.Text (pack)
import Test.QuickCheck.Instances()
import Test.Tasty ( defaultMain, testGroup )
import Test.Tasty.QuickCheck ( (===), testProperty )

import Data.Password.Types ( mkPassword, unsafeShowPassword )

main :: IO ()
main = defaultMain $
  testGroup "Password"
    [ testProperty "mkPassword <-> unsafeShowPassword" $ \pass ->
        unsafeShowPassword (mkPassword pass) === pass
    , testProperty "Password always prints **PASSWORD**" $ \pass ->
        show (mkPassword pass) === "**PASSWORD**"
    , testProperty "fromString works" $ \pass ->
        unsafeShowPassword (fromString pass) === pack pass
    ]