示例#1
0
        public void Expected_riders_should_be_merged_with_actual_riders()
        {
            var rating = GetRating(3, 0).ToList();
            var calc   = RoundScoringStrategy.FromFirstPlacePoints(9, 3);
            var scores = calc.Calculate(rating, new [] { "11", "12", "13", "21", "22" }).ToList();

            scores.Count.Should().Be(5);
            scores[0].Points.Should().Be(9);
            scores[0].RiderId.Should().Be("11");
            scores[1].Points.Should().Be(6);
            scores[1].RiderId.Should().Be("12");
            scores[2].Points.Should().Be(3);
            scores[2].RiderId.Should().Be("13");
            scores[3].RiderId.Should().Be("21");
            scores[3].Points.Should().Be(0);
            scores[4].RiderId.Should().Be("22");
            scores[4].Points.Should().Be(0);
        }
示例#2
0
        public void Expected_riders_should_be_append_with_zero_score()
        {
            var rating = GetRating(3, 0).ToList();
            var calc   = RoundScoringStrategy.FromFirstPlacePoints(9, 3);

            calc.FirstPlacePoints.Should().Be(9);
            calc.SubstractBy.Should().Be(3);
            var scores = calc.Calculate(rating, new [] { "21", "22" }).ToList();

            scores.Count.Should().Be(5);
            scores[0].Points.Should().Be(9);
            scores[1].Points.Should().Be(6);
            scores[2].Points.Should().Be(3);
            scores[3].RiderId.Should().Be("21");
            scores[3].Points.Should().Be(0);
            scores[4].RiderId.Should().Be("22");
            scores[4].Points.Should().Be(0);
        }
示例#3
0
        public void Rate_dnfs_should_be_respected()
        {
            var rating = GetRating(2, 1).ToList();
            var scores = RoundScoringStrategy.FromFirstPlacePoints(10)
                         .Calculate(rating, new [] { "21", "22" }).ToList();

            scores.Count.Should().Be(5);
            scores[0].Points.Should().Be(10);
            scores[1].Points.Should().Be(9);
            scores[2].Points.Should().Be(0);
            scores[3].Points.Should().Be(0);
            scores[4].Points.Should().Be(0);

            scores = RoundScoringStrategy.FromFirstPlacePoints(10, rateDnfs: true)
                     .Calculate(rating, new [] { "21", "22" }).ToList();
            scores.Count.Should().Be(5);
            scores[0].Points.Should().Be(10);
            scores[1].Points.Should().Be(9);
            scores[2].Points.Should().Be(8);
            scores[3].Points.Should().Be(0);
            scores[4].Points.Should().Be(0);
        }