174 {
176
177 struct {
179 bool fExpectedResult;
188 };
189
190 for (
size_t i = 0; i < std::size(
tests); ++i) {
192
193 (
tests[i].fCreate)(&graph);
194
195 const int numNodes = graph.
size();
196
198
199 bool actualResult = GrTTopoSort<ToolUtils::TopoTestNode>(graph);
202
203 if (
tests[i].fExpectedResult) {
204 for (const auto& node : graph) {
206 }
207 } else {
208
209
210 std::vector<bool> seen(numNodes, false);
211
212 for (const auto& node : graph) {
215 seen[node->id()] = true;
216 }
217 }
218
219
220 }
221
222
223
224 for (int n = 2; n < 6; ++n) {
225 for (int split = 1; split < n; ++split) {
235 return;
236 }
237
238 for (const auto& node : spanB) {
240 }
244 return;
245 }
246 for (const auto& node : graph) {
248 }
249 }
250 }
251}
bool GrTTopoSort(SkSpan< sk_sp< T > > graph, uint32_t offset=0)
#define REPORTER_ASSERT(r, cond,...)
static void create_graph1(TArray< sk_sp< ToolUtils::TopoTestNode > > *graph)
static void create_graph5(TArray< sk_sp< ToolUtils::TopoTestNode > > *graph)
static void create_graph4(TArray< sk_sp< ToolUtils::TopoTestNode > > *graph)
void(* CreateGraphPF)(TArray< sk_sp< ToolUtils::TopoTestNode > > *graph)
static void create_graph6(TArray< sk_sp< ToolUtils::TopoTestNode > > *graph)
static void create_graph0(TArray< sk_sp< ToolUtils::TopoTestNode > > *graph)
static void create_graph3(TArray< sk_sp< ToolUtils::TopoTestNode > > *graph)
static void create_graph2(TArray< sk_sp< ToolUtils::TopoTestNode > > *graph)