test(bridge_v2_api): refactor suite to use CT matrix
This commit is contained in:
parent
cc24fe6e93
commit
8f304d3456
|
@ -1389,29 +1389,40 @@ matrix_to_groups(Module, Cases) ->
|
||||||
Cases
|
Cases
|
||||||
).
|
).
|
||||||
|
|
||||||
add_case_matrix(Module, Case, Acc0) ->
|
add_case_matrix(Module, TestCase, Acc0) ->
|
||||||
{RootGroup, Matrix} = Module:Case(matrix),
|
{MaybeRootGroup, Matrix} =
|
||||||
|
case Module:TestCase(matrix) of
|
||||||
|
{RootGroup0, Matrix0} ->
|
||||||
|
{RootGroup0, Matrix0};
|
||||||
|
Matrix0 ->
|
||||||
|
{undefined, Matrix0}
|
||||||
|
end,
|
||||||
lists:foldr(
|
lists:foldr(
|
||||||
fun(Row, Acc) ->
|
fun(Row, Acc) ->
|
||||||
add_group([RootGroup | Row], Acc, Case)
|
case MaybeRootGroup of
|
||||||
|
undefined ->
|
||||||
|
add_group(Row, Acc, TestCase);
|
||||||
|
RootGroup ->
|
||||||
|
add_group([RootGroup | Row], Acc, TestCase)
|
||||||
|
end
|
||||||
end,
|
end,
|
||||||
Acc0,
|
Acc0,
|
||||||
Matrix
|
Matrix
|
||||||
).
|
).
|
||||||
|
|
||||||
add_group([], Acc, Case) ->
|
add_group([], Acc, TestCase) ->
|
||||||
case lists:member(Case, Acc) of
|
case lists:member(TestCase, Acc) of
|
||||||
true ->
|
true ->
|
||||||
Acc;
|
Acc;
|
||||||
false ->
|
false ->
|
||||||
[Case | Acc]
|
[TestCase | Acc]
|
||||||
end;
|
end;
|
||||||
add_group([Name | More], Acc, Cases) ->
|
add_group([Name | More], Acc, TestCases) ->
|
||||||
case lists:keyfind(Name, 1, Acc) of
|
case lists:keyfind(Name, 1, Acc) of
|
||||||
false ->
|
false ->
|
||||||
[{Name, [], add_group(More, [], Cases)} | Acc];
|
[{Name, [], add_group(More, [], TestCases)} | Acc];
|
||||||
{Name, [], SubGroup} ->
|
{Name, [], SubGroup} ->
|
||||||
New = {Name, [], add_group(More, SubGroup, Cases)},
|
New = {Name, [], add_group(More, SubGroup, TestCases)},
|
||||||
lists:keystore(Name, 1, Acc, New)
|
lists:keystore(Name, 1, Acc, New)
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue