Esempio n. 1
0
        public void Test1()
        {
            List <Horse> runners = new List <Horse> {
                new Horse {
                    Id = 1, Name = "Tom", Power = 16000, Mass = 514, dragCoefficient = 0.8
                },
                new Horse {
                    Id = 2, Name = "Dick", Power = 15000, Mass = 500, dragCoefficient = 0.8
                }
            };

            RaceResult raceResult = new RaceResult(1, 0.02);

            raceResult.Runners = new List <Runner>();
            for (int i = 0; i < runners.Count; i++)
            {
                raceResult.Runners.Add(new Runner(i, runners[i]));
            }

            raceResult.Runners[0].FinishingDisplacement = 0.5;
            raceResult.Runners[0].FinishingTime         = 1.0;
            raceResult.Runners[1].FinishingDisplacement = 1.0;
            raceResult.Runners[1].FinishingTime         = 1.0;

            List <int> res = raceResult.GetPositions();

            Assert.Equal(res[0], 0);
            Assert.Equal(res[1], 1);


            raceResult.Runners[0].FinishingDisplacement = 1.0;
            raceResult.Runners[0].FinishingTime         = 0.5;
            raceResult.Runners[1].FinishingDisplacement = 1.0;
            raceResult.Runners[1].FinishingTime         = 1.0;

            List <int> res2 = raceResult.GetPositions();

            Assert.Equal(res2[0], 0);
            Assert.Equal(res2[1], 1);
        }
Esempio n. 2
0
        public static void Main(string[] args)
        {
            RaceInfo raceInfo = new RaceInfo {
                Id           = 0,
                CourseLength = CourseLength,
                Runners      = Runners
            };

            Race       race   = new Race(raceInfo, Interval);
            RaceResult result = race.RunRace();

            List <int> positions = result.GetPositions();

            for (int i = 0; i < positions.Count; i++)
            {
                System.Console.WriteLine("Position {0} is {1}", i + 1, Runners.Find(h => h.Id == positions[i]).Id);
            }

            System.Console.ReadLine();
        }