feat[compressed]: ability to uncompress
This commit is contained in:
parent
f05da30c8a
commit
40ce94ab7b
3 changed files with 41 additions and 2 deletions
|
@ -11,6 +11,7 @@ import qualified Data.Either as Either
|
|||
import qualified Language.Brainfuck as Brainfuck
|
||||
import qualified Arbitrary.ValidBrainfuckText as ValidBrainfuckText
|
||||
import qualified Arbitrary.InvalidBrainfuckText as InValidBrainfuckText
|
||||
import qualified Language.Brainfuck.Instruction.Compressed as CompressedInstruction
|
||||
|
||||
-- | ValidBrainfuckText will produce a text with comments, it must be parsed correctly
|
||||
prop_acceptValidTexts :: ValidBrainfuckText.ValidBrainfuckText -> Bool
|
||||
|
@ -24,6 +25,10 @@ prop_rejectInvalidTexts = Either.isLeft . Brainfuck.parse . InValidBrainfuckText
|
|||
prop_renderParseInverse :: Vector Instruction -> Bool
|
||||
prop_renderParseInverse source = Right source == (Brainfuck.parse . Brainfuck.render $ source)
|
||||
|
||||
-- | Compressing and Uncompressing should be inverse
|
||||
prop_CompressUncompressInverse :: Vector Instruction -> Bool
|
||||
prop_CompressUncompressInverse source = source == CompressedInstruction.uncompress . CompressedInstruction.compress
|
||||
|
||||
return [] -- template haskell guard
|
||||
runQuickCheck :: IO Bool
|
||||
runQuickCheck = $quickCheckAll
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue