コード例 #1
0
    public void FindCompetitorsInRange_With_Invalid_Range_Should_Return_Empty_Collection()
    {
        //Arrange

        var olympics = new Olympics();

        //Act

        olympics.AddCompetition(1, "SoftUniada", 500);
        olympics.AddCompetition(2, "Java", 600);

        olympics.AddCompetitor(5, "Ani");
        olympics.Compete(5, 1);
        olympics.Compete(5, 2);

        olympics.AddCompetitor(1, "Ivan");
        olympics.Compete(1, 1);

        olympics.AddCompetitor(2, "Stamat");
        olympics.Compete(2, 1);
        olympics.Compete(2, 2);

        var actual = olympics.FindCompetitorsInRange(0, 499);

        //Assert

        Assert.AreEqual(Enumerable.Empty <Competitor>(), actual);
    }
コード例 #2
0
    public void Disqualify_Should_Decrease_Competitors_Count_In_Competition()
    {
        //Arrange

        var olympics = new Olympics();

        //Act

        olympics.AddCompetition(1, "SoftUniada", 500);

        olympics.AddCompetitor(5, "Ani");
        olympics.Compete(5, 1);

        olympics.AddCompetitor(1, "Ivan");
        olympics.Compete(1, 1);

        olympics.AddCompetitor(2, "Stamat");
        olympics.Compete(2, 1);
        olympics.Disqualify(1, 5);
        int expectedCompetitorsCount = 2;
        int actualCompetitorsCount   = olympics.GetCompetition(1).Competitors.Count;

        //Assert

        Assert.AreEqual(expectedCompetitorsCount, actualCompetitorsCount);
    }
コード例 #3
0
    public void Compete_With_Valid_Competitors_In_Competition_Score_Changed()
    {
        //Arrange

        var olympics = new Olympics();

        //Act

        olympics.AddCompetition(1, "SoftUniada", 500);

        olympics.AddCompetitor(5, "Ani");
        olympics.Compete(5, 1);

        olympics.AddCompetitor(1, "Ivan");
        olympics.Compete(1, 1);

        olympics.AddCompetitor(2, "Stamat");
        olympics.Compete(2, 1);

        int  expectedCompetitorsScore = 1500;
        long actualCompetitorsScore   = 0;

        foreach (Competitor competitor in olympics.GetCompetition(1).Competitors)
        {
            actualCompetitorsScore += competitor.TotalScore;
        }

        //Assert

        Assert.AreEqual(expectedCompetitorsScore, actualCompetitorsScore);
    }
コード例 #4
0
    public void Disqualify_Should_Reduce_Score()
    {
        //Arrange

        var olympics = new Olympics();

        //Act

        olympics.AddCompetition(1, "SoftUniada", 500);

        olympics.AddCompetitor(5, "Ani");
        olympics.Compete(5, 1);

        olympics.AddCompetitor(1, "Ivan");
        olympics.Compete(1, 1);

        olympics.AddCompetitor(2, "Stamat");
        olympics.Compete(2, 1);
        olympics.Disqualify(1, 5);

        int  expectedScore          = 0;
        long actualCompetitorsScore = olympics.GetByName("Ani").Sum(a => a.TotalScore);

        //Assert

        Assert.AreEqual(expectedScore, actualCompetitorsScore);
    }
コード例 #5
0
    public void FindCompetitorsInRange_With_Max_Value_Inclusive()
    {
        //Arrange

        var olympics = new Olympics();

        //Act

        olympics.AddCompetition(1, "SoftUniada", 500);
        olympics.AddCompetition(2, "Java", 600);

        olympics.AddCompetitor(5, "Ani");
        olympics.Compete(5, 1);
        olympics.Compete(5, 2);

        olympics.AddCompetitor(1, "Ivan");
        olympics.Compete(1, 1);

        olympics.AddCompetitor(2, "Stamat");
        olympics.Compete(2, 1);
        olympics.Compete(2, 2);

        int expectedCount = 2;
        int actualCount   = olympics.FindCompetitorsInRange(500, 1100).Count();


        //Assert

        Assert.AreEqual(expectedCount, actualCount);
    }
コード例 #6
0
    public void Compete_With_Valid_Competitors_In_Competition()
    {
        //Arrange

        var olympics = new Olympics();

        //Act

        olympics.AddCompetition(1, "SoftUniada", 500);

        olympics.AddCompetitor(5, "Ani");
        olympics.Compete(5, 1);

        olympics.AddCompetitor(1, "Ivan");
        olympics.Compete(1, 1);

        olympics.AddCompetitor(2, "Stamat");
        olympics.Compete(2, 1);

        int expectedCompetitorsCount = 3;
        int actualCompetitorsCount   = olympics.GetCompetition(1).Competitors.Count;

        //Assert

        Assert.AreEqual(expectedCompetitorsCount, actualCompetitorsCount);
    }
コード例 #7
0
    public void Compete_With_Invalid_Competition_Id_Should_Throw_Exception()
    {
        //Arrange

        var olympics = new Olympics();

        //Act

        olympics.AddCompetition(1, "SoftUniada", 500);
        olympics.AddCompetitor(5, "Ani");
        olympics.Compete(5, 1);

        //Assert

        Assert.Throws <ArgumentException>(() => olympics.Compete(5, 7));
    }
コード例 #8
0
    public void FindCompetitorsInRange_Correct_Order()
    {
        //Arrange

        var olympics = new Olympics();

        //Act

        olympics.AddCompetition(1, "SoftUniada", 500);
        olympics.AddCompetition(2, "Java", 600);

        olympics.AddCompetitor(5, "Ani");
        olympics.Compete(5, 1);
        olympics.Compete(5, 2);

        olympics.AddCompetitor(1, "Ivan");
        olympics.Compete(1, 1);

        olympics.AddCompetitor(2, "Stamat");
        olympics.Compete(2, 1);
        olympics.Compete(2, 2);

        int[] ids            = { 1, 2, 5 };
        bool  isCorrectOrder = true;

        var competitors = olympics.FindCompetitorsInRange(400, 1100).ToList();

        for (int i = 0; i < ids.Length; i++)
        {
            if (competitors[i].Id != ids[i])
            {
                isCorrectOrder = false;
                break;
            }
        }

        //Assert

        Assert.IsTrue(isCorrectOrder);
    }
コード例 #9
0
    public void Disqualify_Should_Throw_Exception_With_Invalid_Competition_Id()
    {
        //Arrange

        var olympics = new Olympics();

        //Act

        olympics.AddCompetition(1, "CompetitionOne", 50);
        olympics.AddCompetitor(1, "Ani");
        olympics.Compete(1, 1);

        //Assert

        Assert.Throws <ArgumentException>(() => olympics.Disqualify(2, 1));
    }
コード例 #10
0
    public void Contains_Should_Return_True_With_Valid_Data()
    {
        //Arrange

        var olympics   = new Olympics();
        var competitor = new Competitor(5, "Ani");

        //Act

        olympics.AddCompetition(1, "SoftUniada", 500);

        olympics.AddCompetitor(5, "Ani");
        olympics.Compete(5, 1);

        var actual = olympics.Contains(1, competitor);

        //Assert

        Assert.IsTrue(actual);
    }