test(bridge_v2_api): refactor suite to use CT matrix

This commit is contained in:
Thales Macedo Garitezi 2024-01-12 16:24:52 -03:00
parent cc24fe6e93
commit 8f304d3456
2 changed files with 669 additions and 590 deletions

View File

@ -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