public static void TaskContinueWithAllAnyTest14()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.Light);
            TaskInfo node2 = new TaskInfo(WorkloadType.Heavy);
            TaskInfo node3 = new TaskInfo(WorkloadType.Cancelled);
            TaskInfo node4 = new TaskInfo(WorkloadType.VeryHeavy);
            TaskInfo node5 = new TaskInfo(WorkloadType.VeryLight);
            TaskInfo[] allTasks = new[] { node1, node2, node3, node4, node5, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAny, TaskType.TaskContinueWithTask, TaskContinuationOptions.None, false, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        public static void TaskContinueWithAllAnyTest15()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.Medium);
            TaskInfo node2 = new TaskInfo(WorkloadType.Medium);
            TaskInfo[] allTasks = new[] { node1, node2, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAll, TaskType.TaskTContinueWithTaskT, TaskContinuationOptions.AttachedToParent, false, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        public static void TaskContinueWithAllAnyTest12()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.Medium);
            TaskInfo[] allTasks = new[] { node1, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAny, TaskType.TaskContinueWithTask, TaskContinuationOptions.ExecuteSynchronously, false, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        public static void TaskContinueWithAllAnyTest13()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.Exceptional);
            TaskInfo node2 = new TaskInfo(WorkloadType.Medium);
            TaskInfo node3 = new TaskInfo(WorkloadType.Light);
            TaskInfo[] allTasks = new[] { node1, node2, node3, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAny, TaskType.TaskContinueWithTask, TaskContinuationOptions.LongRunning, false, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        public static void TaskContinueWithAllAnyTest8()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.Cancelled);
            TaskInfo[] allTasks = new[] { node1, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAny, TaskType.TaskContinueWithTaskT_NEW, TaskContinuationOptions.LongRunning, false, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        public static void TaskContinueWithAllAnyTest10()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.VeryHeavy);
            TaskInfo node2 = new TaskInfo(WorkloadType.Cancelled);
            TaskInfo node3 = new TaskInfo(WorkloadType.VeryLight);
            TaskInfo node4 = new TaskInfo(WorkloadType.Exceptional);
            TaskInfo node5 = new TaskInfo(WorkloadType.Medium);
            TaskInfo[] allTasks = new[] { node1, node2, node3, node4, node5, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAll, TaskType.TaskContinueWithTask, TaskContinuationOptions.AttachedToParent, false, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        public static void TaskContinueWithAllAnyTest3()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.Heavy);
            TaskInfo node2 = new TaskInfo(WorkloadType.Cancelled);
            TaskInfo node3 = new TaskInfo(WorkloadType.Light);
            TaskInfo[] allTasks = new[] { node1, node2, node3, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAny, TaskType.TaskContinueWithTaskT, TaskContinuationOptions.AttachedToParent, false, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        public static void TaskContinueWithAllAnyTest6()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.Medium);
            TaskInfo node2 = new TaskInfo(WorkloadType.Cancelled);
            TaskInfo node3 = new TaskInfo(WorkloadType.Cancelled);
            TaskInfo node4 = new TaskInfo(WorkloadType.Exceptional);
            TaskInfo node5 = new TaskInfo(WorkloadType.Exceptional);
            TaskInfo[] allTasks = new[] { node1, node2, node3, node4, node5, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAll, TaskType.TaskContinueWithTaskT_NEW, TaskContinuationOptions.ExecuteSynchronously, false, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        public static void TaskContinueWithAllAnyTest39()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.VeryHeavy);
            TaskInfo node2 = new TaskInfo(WorkloadType.VeryLight);
            TaskInfo[] allTasks = new[] { node1, node2, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAll, TaskType.TaskTContinueWithTaskT_NEW, TaskContinuationOptions.LazyCancellation, true, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        public static void TaskContinueWithAllAnyTest37()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.Exceptional);
            TaskInfo node2 = new TaskInfo(WorkloadType.Cancelled);
            TaskInfo node3 = new TaskInfo(WorkloadType.VeryLight);
            TaskInfo[] allTasks = new[] { node1, node2, node3, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAll, TaskType.TaskTContinueWithTask, TaskContinuationOptions.LazyCancellation, false, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        public static void TaskContinueWithAllAnyTest30()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.VeryHeavy);
            TaskInfo node2 = new TaskInfo(WorkloadType.Cancelled);
            TaskInfo node3 = new TaskInfo(WorkloadType.VeryLight);
            TaskInfo node4 = new TaskInfo(WorkloadType.Exceptional);
            TaskInfo node5 = new TaskInfo(WorkloadType.Medium);
            TaskInfo node6 = new TaskInfo(WorkloadType.VeryHeavy);
            TaskInfo node7 = new TaskInfo(WorkloadType.Cancelled);
            TaskInfo node8 = new TaskInfo(WorkloadType.VeryLight);
            TaskInfo node9 = new TaskInfo(WorkloadType.Exceptional);
            TaskInfo node10 = new TaskInfo(WorkloadType.Medium);
            TaskInfo[] allTasks = new[] { node1, node2, node3, node4, node5, node6, node7, node8, node9, node10, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAll, TaskType.TaskContinueWithTaskT_NEW, TaskContinuationOptions.None, true, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        public static void TaskContinueWithAllAnyTest23()
        {
            TaskInfo node1 = new TaskInfo(WorkloadType.VeryLight);
            TaskInfo node2 = new TaskInfo(WorkloadType.Medium);
            TaskInfo node3 = new TaskInfo(WorkloadType.Light);
            TaskInfo[] allTasks = new[] { node1, node2, node3, };
            TestParameters parameters = new TestParameters(API.ContinueWhenAll, TaskType.TaskTContinueWithTaskT_NEW, TaskContinuationOptions.PreferFairness, false, allTasks);

            TaskContinueWithAllAnyTest test = new TaskContinueWithAllAnyTest(parameters);
            test.RealRun();
        }
        private Task[] _tasks;                          // tasks to be continued from

        #endregion

        #region Constructor

        /// <summary>
        /// Create the test given the parameters
        /// </summary>
        public TaskContinueWithAllAnyTest(TestParameters parameters)
        {
            _api = parameters.Api;
            _taskType = parameters.TaskType;
            _tcOption = parameters.ContinuationOptions;


            // set up the TaskScheduler under which the contination will be scheduled
            _tm = TaskScheduler.Default;

            // create a new cancellation token for each test
            _cancellationToken = parameters.WithCancellation ? CancellationToken.None : new CancellationToken();

            _taskInfos = parameters.AllTaskInfos;
            _tasks = new Task[parameters.AllTaskInfos.Length];
        }