public async Task LimitedParallel(int maxParallel, int operationCount) { var testState = new TestState(maxParallel); var funcs = new Func <TestState, CancellationToken, UniTask> [operationCount]; for (int i = 0; i < funcs.Length; i++) { funcs[i] = (s, ct) => TestWork(s, ct); } await ParallelOperation.LimitedParallel(funcs, testState, maxParallel, CancellationToken.None); testState.Ensure(); }