feat: documentation

This commit is contained in:
vegowotenks 2025-06-20 10:37:55 +02:00
parent d012307d19
commit f05da30c8a

View file

@ -12,12 +12,15 @@ import qualified Language.Brainfuck as Brainfuck
import qualified Arbitrary.ValidBrainfuckText as ValidBrainfuckText import qualified Arbitrary.ValidBrainfuckText as ValidBrainfuckText
import qualified Arbitrary.InvalidBrainfuckText as InValidBrainfuckText import qualified Arbitrary.InvalidBrainfuckText as InValidBrainfuckText
prop_acceptValidTexts :: ValidBrainfuckText.ValidBrainfuckText -> Bool -- | ValidBrainfuckText will produce a text with comments, it must be parsed correctly
prop_acceptValidTexts = Either.isRight . Brainfuck.parse . ValidBrainfuckText.get prop_acceptValidTexts :: ValidBrainfuckText.ValidBrainfuckText -> Bool
prop_acceptValidTexts = Either.isRight . Brainfuck.parse . ValidBrainfuckText.get
-- | InvalidBrainfuckText will insert unbalanced brackets, they must be rejected
prop_rejectInvalidTexts :: InValidBrainfuckText.InvalidBrainfuckText -> Bool prop_rejectInvalidTexts :: InValidBrainfuckText.InvalidBrainfuckText -> Bool
prop_rejectInvalidTexts = Either.isLeft . Brainfuck.parse . InValidBrainfuckText.get prop_rejectInvalidTexts = Either.isLeft . Brainfuck.parse . InValidBrainfuckText.get
-- | Does rendering and parsing a vector of instructions yield the exact same result?
prop_renderParseInverse :: Vector Instruction -> Bool prop_renderParseInverse :: Vector Instruction -> Bool
prop_renderParseInverse source = Right source == (Brainfuck.parse . Brainfuck.render $ source) prop_renderParseInverse source = Right source == (Brainfuck.parse . Brainfuck.render $ source)