@@ -175,21 +175,21 @@ takeBetween :: Property
175takeBetween =
175takeBetween =
176 forAll (chooseInt (min_value, max_value)) $ \m ->
176 forAll (chooseInt (min_value, max_value)) $ \m ->
177 forAll (chooseInt (min_value, max_value)) $ \n ->
177 forAll (chooseInt (min_value, max_value)) $ \n ->
178− forAll (listOf (chooseInt (min_value, max_value))) $ \ls ->
178+ forAll (listOf (chooseInt (min_value, max_value))) $ \ls ->
180− list_length = Prelude.length ls
182− case S.parse (P.takeBetween m n FL.toList)
184− Right parsed_list ->
185− if m <= list_length && n >= list_length
187− let lpl = Prelude.length parsed_list
188− in checkListEqual parsed_list
189− $ Prelude.take lpl ls
191− Left _ -> property (m > n || list_length < m)
184+ let inputLen = Prelude.length ls
185+ in case S.parse (P.takeBetween m n FL.toList) (S.fromList ls) of
187+ let parsedLen = Prelude.length xs
188+ in if inputLen >= m && parsedLen >= m && parsedLen <= n
189+ then checkListEqual xs $ Prelude.take parsedLen ls
192+ property ((m >= 0 && n >= 0 && m > n) || inputLen < m)
194takeEQPass :: Property
194takeEQPass :: Property
195takeEQPass =
195takeEQPass =