packages feed

base58address-0.1: tests/suite.hs

module Main (main) where

import Test.Framework (defaultMain, testGroup, Test)
import Test.Framework.Providers.QuickCheck2

import Data.Base58Address

prop_read_show_bitcoin :: BitcoinAddress -> Bool
prop_read_show_bitcoin adr = (read $! str) == adr
	where
	str = show $! adr
	{-# NOINLINE str #-}

prop_read_show_ripple :: RippleAddress -> Bool
prop_read_show_ripple adr = (read $! str) == adr
	where
	str = show $! adr
	{-# NOINLINE str #-}

tests :: [Test]
tests =
	[
		testGroup "Encode/decode loop" [
			testProperty "BitcoinAddress" prop_read_show_bitcoin,
			testProperty "RippleAddress" prop_read_show_ripple
		]
	]

main :: IO ()
main = defaultMain tests