示例#1
0
        public void Test___Method_Start()
        {
            var testee1 = new LockVariable();
            var testee2 = new LockVariable();

            var semaphoreSlim1 = testee1.GetValue();
            var semaphoreSlim2 = testee2.GetValue();

            Assert.IsNotNull(semaphoreSlim1);
            Assert.IsNotNull(semaphoreSlim2);
            Assert.AreNotEqual(semaphoreSlim1, semaphoreSlim2);
        }
示例#2
0
        public async Task Test___Method_Start()
        {
            var elapsed    = new AnyVariable <long>();
            var lockObject = new LockVariable();

            var testee = new StopwatchActivity()
            {
                Elapsed  = elapsed,
                Activity = new ParallelActivity()
                {
                    Activities = new List <IActivity>()
                    {
                        new LockActivity()
                        {
                            LockObject = lockObject,
                            Activity   = new DelayActivity()
                            {
                                Duration = new AnyVariable <int>(1000)
                            }
                        },
                        new LockActivity()
                        {
                            LockObject = lockObject,
                            Activity   = new DelayActivity()
                            {
                                Duration = new AnyVariable <int>(1000)
                            }
                        }
                    }
                }
            };

            await testee.Start();

            Assert.AreEqual(ActivityStatus.Completed, testee.Status);
            Assert.IsTrue(2000 <= elapsed.GetValue());
        }