Rantly とは?
テスト用のランダムデータ生成のRuby実装。
Haskell の Quickcheck の Ruby 版。
property based testing を行うためのツール。
property based testing については下記記事を参照。
ひどいサンプルコードで property based testing をまなぶ - TbpgrBlog
インストール
$ gem install rantly
Class Methods
Rantly のクラスメソッドを紹介します。
Rantly.map
map で指定した数の乱数配列を返す。
Ranty(n, &block)
でも同じ結果が得られる。
Rantly.map(5){|e|string}
# => [": OPp{", "8a2CfM", "CU8ODd", "$Bd@Zm", "5\\MFK."]
Rantly.map(5){|e|integer}
# => [-928585434008314195, 99312170261778545, -220896656041693551, 2261106664388239913, 1254352080314110761]
Rantly(5){|e|integer}
# => [-985824282836181758, 1653344108921040141, -984939155340365180, -1109600847398276901, 1544390725827159702]
Rantly.each
each で指定した数のランダムな値の生成を繰り返す。
Rantly.each(5){|e|puts string}
# '8=;vC
# "cg{=$
# |g7*+J
# iuL]i2
# =I\8qi
Rantly.value
任意の一つの値を乱数で返す。
Ranty(&block)
でも同じ結果が得られる。
Rantly.value {string}
# => "Xtn \"d"
Rantly.value {string}
# => "}1@4}l"
Rantly {string}
# => "9Q@9y^"
Rantly {string}
# => "f5vlU@"
メモ
利用可能なインスタンスメソッドについては別記事で順次追加します