当前位置: 首页>>代码示例>>C#>>正文


C# Test.TestParameters类代码示例

本文整理汇总了C#中System.Threading.Tasks.Test.TestParameters的典型用法代码示例。如果您正苦于以下问题:C# TestParameters类的具体用法?C# TestParameters怎么用?C# TestParameters使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


TestParameters类属于System.Threading.Tasks.Test命名空间,在下文中一共展示了TestParameters类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ParallelState7

 public static void ParallelState7()
 {
     string[] actions = new string[] { "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", };
     string[] verifications = new string[] { "BreakVerification", };
     TestParameters parameters = new TestParameters
     {
         Api = API.For,
         Count = 10,
         Actions = actions,
         Verifications = verifications,
         ExpectingException = false,
         WithLocalState = true,
         Is64 = false,
     };
     ParallelStateTest test = new ParallelStateTest(parameters);
     test.RealRun();
 }
开发者ID:ESgarbi,项目名称:corefx,代码行数:17,代码来源:ParallelStateTest.cs

示例2: ParallelStateTest

        private int _iterCount = 0;  // test own counter for certain scenario, so the test can change behaviour after certain number of loop iteration

        #endregion

        #region Constructor

        public ParallelStateTest(TestParameters parameters)
        {
            _parameters = parameters;

            _mreSlim = new ManualResetEventSlim(false);

            _results = new double[parameters.Count];

            _sequences = new List<int>[1024];
            _sequences64 = new List<long>[1024];
            _threadCount = 0;

            // Set available actions
            _availableActions["Stop"] = StopAction;
            _availableActions["Break"] = BreakAction;
            _availableActions["Exceptional"] = ExceptionalAction;
            _availableActions["MultipleStop"] = MultipleStopAction;
            _availableActions["MultipleBreak"] = MultipleBreakAction;
            _availableActions["MultipleException"] = MultipleExceptionAction;
            _availableActions["SyncWaitStop"] = SyncWaitStop;
            _availableActions["SyncSetStop"] = SyncSetStop;
            _availableActions["SyncWaitBreak"] = SyncWaitBreak;
            _availableActions["SyncSetBreak"] = SyncSetBreak;

            _availableActions["SyncWaitStopCatchExp"] = SyncWaitStopCatchExp;
            _availableActions["SyncWaitBreakCatchExp"] = SyncWaitBreakCatchExp;

            _availableActions["SyncWaitExceptional"] = SyncWaitExceptional;
            _availableActions["SyncSetExceptional"] = SyncSetExceptional;

            // Set available verifications
            _availableVerifications["StopVerification"] = StopVerification;
            _availableVerifications["BreakVerification"] = BreakVerification;
            _availableVerifications["ExceptionalVerification"] = ExceptionalVerification;

            _barrier = new Barrier(parameters.Count);

            // A barrier is used in the workload to ensure that all tasks are running before any proceed.
            // This causes delays if the count is higher than the number of processors, as the thread pool
            // will need to (slowly) inject additional threads to meet the demand.  As a less-than-ideal
            // workaround, we change the thread pool's min thread count to be at least the number required
            // for the test.  Not perfect, but better than nothing.
            ThreadPoolHelpers.EnsureMinThreadsAtLeast(parameters.Count);

            int length = parameters.Count;
            if (length < 0)
                length = 0;

            if (parameters.Api != API.For)
            {
                int[] collArray = new int[length];
                for (int j = 0; j < length; j++)
                    collArray[j] = ((int)_startIndex) + j;

                if (parameters.Api == API.ForeachOnArray)
                    _collection = collArray;
                else if (parameters.Api == API.ForeachOnList)
                    _collection = new List<int>(collArray);
                else
                    _collection = collArray;
            }

            int index = 0;
            for (index = 0; index < parameters.Count; index++)
                _actions.Add(DummyAction);

            index = 0;
            foreach (string action in parameters.Actions)
            {
                Action<long, ParallelLoopState> a = null;
                string[] actionIndexPair = action.Split('_');

                if (!_availableActions.TryGetValue(actionIndexPair[0], out a))
                    throw new ArgumentException(actionIndexPair[0] + " is not a valid action");

                _actions[actionIndexPair.Length > 1 ? int.Parse(actionIndexPair[1]) : index++] = a;
            }

            foreach (string verification in parameters.Verifications)
            {
                Action<ParallelLoopResult?> act = null;

                if (!_availableVerifications.TryGetValue(verification, out act))
                    throw new ArgumentException(verification + " is not a valid verification");

                _verifications.Enqueue(act);
            }
        }
开发者ID:ESgarbi,项目名称:corefx,代码行数:94,代码来源:ParallelStateTest.cs

示例3: ParallelState76

 public static void ParallelState76()
 {
     string[] actions = new string[] { "SyncWaitBreak_0", "SyncSetBreak_1", };
     string[] verifications = new string[] { "BreakVerification", };
     TestParameters parameters = new TestParameters
     {
         Api = API.ForeachOnList,
         Count = 10,
         Actions = actions,
         Verifications = verifications,
         ExpectingException = false,
         WithLocalState = true,
         Is64 = false,
     };
     ParallelStateTest test = new ParallelStateTest(parameters);
     test.RealRun();
 }
开发者ID:ESgarbi,项目名称:corefx,代码行数:17,代码来源:ParallelStateTest.cs

示例4: ParallelState49

 public static void ParallelState49()
 {
     string[] actions = new string[] { "SyncSetStop_0", "SyncWaitBreakCatchExp_1", };
     string[] verifications = new string[] { "StopVerification", };
     TestParameters parameters = new TestParameters
     {
         Api = API.ForeachOnArray,
         Count = 10,
         Actions = actions,
         Verifications = verifications,
         ExpectingException = false,
         WithLocalState = false,
         Is64 = false,
     };
     ParallelStateTest test = new ParallelStateTest(parameters);
     test.RealRun();
 }
开发者ID:ESgarbi,项目名称:corefx,代码行数:17,代码来源:ParallelStateTest.cs

示例5: ParallelState36

 public static void ParallelState36()
 {
     string[] actions = new string[] { "Exceptional", };
     string[] verifications = new string[] { "ExceptionalVerification", };
     TestParameters parameters = new TestParameters
     {
         Api = API.ForeachOnArray,
         Count = 10,
         Actions = actions,
         Verifications = verifications,
         ExpectingException = true,
         WithLocalState = true,
         Is64 = false,
     };
     ParallelStateTest test = new ParallelStateTest(parameters);
     test.RealRun();
 }
开发者ID:ESgarbi,项目名称:corefx,代码行数:17,代码来源:ParallelStateTest.cs

示例6: ParallelStateTest

        private int _iterCount = 0;  // test own counter for certain scenario, so the test can change behaviour after certain number of loop iteration

        #endregion

        #region Constructor

        public ParallelStateTest(TestParameters parameters)
        {
            _parameters = parameters;

            _mreSlim = new ManualResetEventSlim(false);

            _results = new double[parameters.Count];

            _sequences = new List<int>[1024];
            _sequences64 = new List<long>[1024];
            _threadCount = 0;

            // Set available actions
            _availableActions["Stop"] = StopAction;
            _availableActions["Break"] = BreakAction;
            _availableActions["Exceptional"] = ExceptionalAction;
            _availableActions["MultipleStop"] = MultipleStopAction;
            _availableActions["MultipleBreak"] = MultipleBreakAction;
            _availableActions["MultipleException"] = MultipleExceptionAction;
            _availableActions["SyncWaitStop"] = SyncWaitStop;
            _availableActions["SyncSetStop"] = SyncSetStop;
            _availableActions["SyncWaitBreak"] = SyncWaitBreak;
            _availableActions["SyncSetBreak"] = SyncSetBreak;

            _availableActions["SyncWaitStopCatchExp"] = SyncWaitStopCatchExp;
            _availableActions["SyncWaitBreakCatchExp"] = SyncWaitBreakCatchExp;

            _availableActions["SyncWaitExceptional"] = SyncWaitExceptional;
            _availableActions["SyncSetExceptional"] = SyncSetExceptional;

            // Set available verifications
            _availableVerifications["StopVerification"] = StopVerification;
            _availableVerifications["BreakVerification"] = BreakVerification;
            _availableVerifications["ExceptionalVerification"] = ExceptionalVerification;

            _barrier = new Barrier(parameters.Count);

            int length = parameters.Count;
            if (length < 0)
                length = 0;

            if (parameters.Api != API.For)
            {
                int[] collArray = new int[length];
                for (int j = 0; j < length; j++)
                    collArray[j] = ((int)_startIndex) + j;

                if (parameters.Api == API.ForeachOnArray)
                    _collection = collArray;
                else if (parameters.Api == API.ForeachOnList)
                    _collection = new List<int>(collArray);
                else
                    _collection = collArray;
            }

            int index = 0;
            for (index = 0; index < parameters.Count; index++)
                _actions.Add(DummyAction);

            index = 0;
            foreach (string action in parameters.Actions)
            {
                Action<long, ParallelLoopState> a = null;
                string[] actionIndexPair = action.Split('_');

                if (!_availableActions.TryGetValue(actionIndexPair[0], out a))
                    throw new ArgumentException(actionIndexPair[0] + " is not a valid action");

                _actions[actionIndexPair.Length > 1 ? int.Parse(actionIndexPair[1]) : index++] = a;
            }

            foreach (string verification in parameters.Verifications)
            {
                Action<ParallelLoopResult?> act = null;

                if (!_availableVerifications.TryGetValue(verification, out act))
                    throw new ArgumentException(verification + " is not a valid verification");

                _verifications.Enqueue(act);
            }
        }
开发者ID:er0dr1guez,项目名称:corefx,代码行数:87,代码来源:ParallelStateTest.cs


注:本文中的System.Threading.Tasks.Test.TestParameters类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。