Example #1
0
        static void TestAllOnce(List<TestCase> cases)
        {
            var timeManager = new TimeManager();
            Test1(cases, timeManager);
            timeManager = new TimeManager();
            Test1(cases, timeManager);

            var mgr = new TrivialTimeManager();
            Test2(cases, mgr);
            mgr = new TrivialTimeManager();
            Test2(cases, mgr);
        }
Example #2
0
        static void Test2(List<TestCase> cases, TrivialTimeManager mgr)
        {
            var maxTick = cases.Max(c => c.Tick);
            var results = new HashSet<uint>();

            foreach (var c in cases)
            {
                TestCase c1 = c;
                mgr.AddTimer(c.Tick, (timer, data) =>
                {
                    if (mgr.FixedTicks == c1.Tick)
                        results.Add((uint)data[0]);
                }, c.Id);
            }

            var begin = DateTime.Now;
            for (int i = 0; i < maxTick + 1; i++)
            {
                mgr.FixedTick();
            }
            var end = DateTime.Now;

            Console.WriteLine("TrivialTimeManager:{0}, Time:{1}", results.Count, end - begin);
        }