Esempio n. 1
0
        public void ShouldBuildPlanForSimpleCase1()
        {
            //Arrange
            var firstJob = new Job(1, 10, null, .1, 2);
            var secondJob = new Job(2, 10, new List<int> { 1 }, .1, 2);
            var thirdJob = new Job(3, 20, new List<int> { 1, 2 }, .1, 2);
            var jobs = new List<Job> { firstJob, secondJob, thirdJob };
            var resource1 = new Resource(1, 20);
            var resources = new List<Resource> { resource1 };
            var dependencies = new List<double[]> { new double[] { 7 }, new double[] { 14 }, new double[] { 10 } };
            var planBuilder = new JobPlanBuilder();
            //Act
            var plan = planBuilder.GetBasePlan(resources, jobs, dependencies);
            //Assert
            AreEqual(plan.Count(), 3);
            AreEqual(plan[0].ExecutingJobs.Count, 1);
            AreEqual(plan[0].ExecutingJobs[0].JobReference.Number, 1);
            True(plan[0].ExecutingJobs[0].Intencity.FloatEquals(2));
            True(plan[0].TimeDelta.FloatEquals(5));

            AreEqual(plan[1].ExecutingJobs.Count, 1);
            AreEqual(plan[1].ExecutingJobs[0].JobReference.Number, 2);
            True(plan[1].ExecutingJobs[0].Intencity.FloatEquals(1.42857142857));
            True(plan[1].TimeDelta.FloatEquals(7));

            AreEqual(plan[2].ExecutingJobs.Count, 1);
            AreEqual(plan[2].ExecutingJobs[0].JobReference.Number, 3);
            AreEqual(plan[2].ExecutingJobs[0].Intencity, 2);
            True(plan[2].TimeDelta.FloatEquals(10));
        }
        private PlanModel CreateFakePlanModel()
        {
            var firstJob = new Job(1, 10, null, .1, 2);
            var secondJob = new Job(2, 10, new List<int> {1}, .1, 2);
            var thirdJob = new Job(3, 20, new List<int> {1, 2}, .1, 2);
            var fourthJob = new Job(4, 20, null, .1, 2);
            var jobs = new List<Job> {firstJob, secondJob, thirdJob, fourthJob};
            var resource1 = new Resource(1, 20);
            var resources = new List<Resource> {resource1};
            var dependencies = new List<double[]> {new double[] {7}, new double[] {14}, new double[] {10}, new double[] {6}};
            var planBuilder = new JobPlanBuilder();

            var plan = planBuilder.GetBasePlan(resources, jobs, dependencies);

            var planModel = new PlanModel(plan);

            return planModel;
        }
Esempio n. 3
0
 public void ShouldCalculateMaxIntensity1()
 {
     //Arrange
     var firstJob = new Job(1, 10, null, .1, 2);
     var resource1 = new Resource(1, 20);
     var dependency = new JobResourceDependency(firstJob, resource1, 7);
     firstJob.ResourceDependencies.Add(dependency);
     var planBuilder = new JobPlanBuilder();
     //Act
     var maxIntensity = planBuilder.CalcMaxPossibleIntensity(firstJob, new[] {resource1});
     //Assert
     True(maxIntensity.FloatEquals(2));
 }