在 Erlang 的 PropEr 中,如何获取生成器的样本?
In Erlang's PropEr, how to get a sample of a generator?
我正在使用 PropEr 编写基于 属性 的测试。
我如何查看生成器生成的数据类型?
假设我有以下生成器:
-module(my).
-include_lib("proper/include/proper.hrl").
-export([valid_type_gen/0]).
valid_type_gen() -> non_empty(list(any())).
我想检查它生成的数据类型,例如:
$ erl
1> my:valid_type_gen().sample() %???
[1,b,"blah"]
对于 Triq 中的相同问题,请查看 here。
相关函数是proper_gen:pick/1
。它 returns 一个元组 {ok, V}
.
$ erl
1> proper_gen:pick(my:valid_type_gen()).
{ok,[{{},<<>>,2},
[{},11.690292064109402,
{{}},
{},18.096053885231132,u,')[64Wue¢±'],
[{},-5.041761022794527,-13,
{[],-0.9553811124968509},
-5,'õ2zc}:Ì'],
<<47,5,113,69,86,216,20,142,173,57:6>>,
'',
{2.710196163900066,0.47155396154628,{},[],
{[]},
8.42398680461108},
{[[25,
[-10.073999184421432,5.734631070941083,
{'æ67Ò§ü3"',[30.925337851024143]}]],
'']},
'1Þ7\'\v','4b6']}
我正在使用 PropEr 编写基于 属性 的测试。 我如何查看生成器生成的数据类型?
假设我有以下生成器:
-module(my).
-include_lib("proper/include/proper.hrl").
-export([valid_type_gen/0]).
valid_type_gen() -> non_empty(list(any())).
我想检查它生成的数据类型,例如:
$ erl
1> my:valid_type_gen().sample() %???
[1,b,"blah"]
对于 Triq 中的相同问题,请查看 here。
相关函数是proper_gen:pick/1
。它 returns 一个元组 {ok, V}
.
$ erl
1> proper_gen:pick(my:valid_type_gen()).
{ok,[{{},<<>>,2},
[{},11.690292064109402,
{{}},
{},18.096053885231132,u,')[64Wue¢±'],
[{},-5.041761022794527,-13,
{[],-0.9553811124968509},
-5,'õ2zc}:Ì'],
<<47,5,113,69,86,216,20,142,173,57:6>>,
'',
{2.710196163900066,0.47155396154628,{},[],
{[]},
8.42398680461108},
{[[25,
[-10.073999184421432,5.734631070941083,
{'æ67Ò§ü3"',[30.925337851024143]}]],
'']},
'1Þ7\'\v','4b6']}