From 96d9932a71facce2b31c78fa00fe1adc35169ecb Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sat, 29 Dec 2018 02:31:33 +0100 Subject: Make generation more controlled --- src/Test/VeriFuzz/Verilog/AST.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/Test/VeriFuzz/Verilog/AST.hs b/src/Test/VeriFuzz/Verilog/AST.hs index f0178cf..4c3649d 100644 --- a/src/Test/VeriFuzz/Verilog/AST.hs +++ b/src/Test/VeriFuzz/Verilog/AST.hs @@ -15,6 +15,7 @@ Defines the types to build a Verilog AST. module Test.VeriFuzz.Verilog.AST where import Control.Lens +import Control.Monad (replicateM) import qualified Data.Graph.Inductive as G import Data.String import Data.Text (Text) @@ -257,8 +258,9 @@ instance QC.Arbitrary Text where arbitrary = T.pack <$> QC.arbitrary instance QC.Arbitrary Identifier where - arbitrary = Identifier . T.pack <$> - (QC.shuffle (['a'..'z'] <> ['A'..'Z']) >>= QC.sublistOf) + arbitrary = do + l <- QC.choose (2, 10) + Identifier . T.pack <$> replicateM l (QC.elements ['a'..'z']) instance QC.Arbitrary Number where arbitrary = Number <$> QC.suchThat QC.arbitrary (>0) <*> QC.arbitrary -- cgit