Skip to content

Instantly share code, notes, and snippets.

@arialdomartini
Last active August 13, 2023 08:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arialdomartini/d057124daac8cdb206e52c8d1e744b46 to your computer and use it in GitHub Desktop.
Save arialdomartini/d057124daac8cdb206e52c8d1e744b46 to your computer and use it in GitHub Desktop.
Randomly repeat characters in a string
test
"repeated characters are replaced with one"
{
let randomlyRepeat char =
gen {
let! randomLength = Arb.generate<int> |> Gen.map (fun i -> abs i + 1)
return String(char, randomLength)
}
let arbitrarilyRepeatCharactersInString s =
gen {
let! result =
Seq.map randomlyRepeat s
|> Gen.sequence
let single = String.concat "" result
return single
}
let cases = gen {
let! r = randomString
let! repeated = arbitrarilyRepeatCharactersInString r
return (r, repeated)
}
let c = Gen.sample 10 100 cases
Tests.failtest "OMG I failed!"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment