Example #1
0
        public void TestResourceWithPriorityQueue()
        {
            var env      = new Environment(new DateTime(2014, 4, 1));
            var resource = new PriorityResource(env, capacity: 1);

            env.Process(TestResourceWithPriorityQueue(env, 0, resource, 2, 0));
            env.Process(TestResourceWithPriorityQueue(env, 2, resource, 3, 10));
            env.Process(TestResourceWithPriorityQueue(env, 2, resource, 3, 15)); // Test equal priority
            env.Process(TestResourceWithPriorityQueue(env, 4, resource, 1, 5));
            env.Run();
        }
Example #2
0
        private IEnumerable <Event> TestResourceWithPriorityQueue(Environment env, int delay, PriorityResource resource, int priority, int resTime)
        {
            yield return(env.Timeout(TimeSpan.FromSeconds(delay)));

            var req = resource.Request(priority);

            yield return(req);

            Assert.AreEqual(new DateTime(2014, 4, 1) + TimeSpan.FromSeconds(resTime), env.Now);
            yield return(env.Timeout(TimeSpan.FromSeconds(5)));

            resource.Release(req);
        }
 private IEnumerable<Event> TestResourceWithPriorityQueue(Environment env, int delay, PriorityResource resource, int priority, int resTime)
 {
     yield return env.Timeout(TimeSpan.FromSeconds(delay));
       var req = resource.Request(priority);
       yield return req;
       Assert.AreEqual(new DateTime(2014, 4, 1) + TimeSpan.FromSeconds(resTime), env.Now);
       yield return env.Timeout(TimeSpan.FromSeconds(5));
       resource.Release(req);
 }
 public void TestResourceWithPriorityQueue()
 {
     var env = new Environment(new DateTime(2014, 4, 1));
       var resource = new PriorityResource(env, capacity: 1);
       env.Process(TestResourceWithPriorityQueue(env, 0, resource, 2, 0));
       env.Process(TestResourceWithPriorityQueue(env, 2, resource, 3, 10));
       env.Process(TestResourceWithPriorityQueue(env, 2, resource, 3, 15)); // Test equal priority
       env.Process(TestResourceWithPriorityQueue(env, 4, resource, 1, 5));
       env.Run();
 }