1

i am learning quickcheck(and haskell too), i have de bellow code:

newtype Urls = FN { unFN :: String } deriving Show

instance Arbitrary Urls where
arbitrary = do protocol <- elements ["http://"]
             name <-  listOf $ elements ['a'..'z']
             domain <- elements [".com",".com.br",".net"]
             return (FN (protocol ++ name ++ domain))

My question is about how i can make listOf never return empty(NonEmpty), because now for some data generated I receive string like {unFN = "http://.net"}, simplifying i want that name never be empty

Édipo Féderle
  • 4,169
  • 5
  • 31
  • 35

1 Answers1

5

Use listOf1 instead of listOf.

Roman Cheplyaka
  • 37,738
  • 7
  • 72
  • 121