QuickCheckで固定長文字列を作る
*> sample' (vectorOf 4 $ choose ('a','z')) ["jvnv","ylqf","aoud","bdha","lekn","ahoy","yzdp","nyso","zzlo","gjii","cyjg"]
Ascii文字列とかUnicode文字列とか生成する機能があります。一度しっかりドキュメントを読んでおくとお釣りか来る感じ。
*> sample' (arbitrary :: Gen ASCIIString) [ASCIIString {getASCIIString = ""},ASCIIString {getASCIIString = "$"},ASCIIString {getASCIIString = "j6&,"},ASCIIString {getASCIIString = "oK\r"},ASCIIString {getASCIIString = "<C\RSed"},ASCIIString {getASCIIString = "\ETX"},ASCIIString {getASCIIString = "UW%\\0,\EM"},ASCIIString {getASCIIString = "\GS\n\ETB229\\|6"},ASCIIString {getASCIIString = "]4"},ASCIIString {getASCIIString = "hS~\ETB0,6=#=AR\SUBk|\b\a-"},ASCIIString {getASCIIString = "Wc\f\r\aj`\t%"}]
*> sample' (arbitrary :: Gen UnicodeString) [UnicodeString {getUnicodeString = ""},UnicodeString {getUnicodeString = "\1034127\1073198"},UnicodeString {getUnicodeString = "\81677\1040544\831699"},UnicodeString {getUnicodeString = "\1113493\21462"},UnicodeString {getUnicodeString = "\334309\608748\266552\817694\1089443\918361"},UnicodeString {getUnicodeString = "\1057239\620355\610231\833658\1060579\1092217\532093\541595\1046677"},UnicodeString {getUnicodeString = "\996908\202855\651934\1027497"},UnicodeString {getUnicodeString = "\2950\849693\955293\894527\161271\801140\977486\785568\832124\322455\534586"},UnicodeString {getUnicodeString = ""},UnicodeString {getUnicodeString = "\97513\904222\107840\484931\1105\738793\459023\934071"},UnicodeString {getUnicodeString = "\744355\735021\421255\647867\959520\264100\912824\769664\548809\993941\585201\662346\949657"}]