Пример #1
0
    public void GetById_On_Empty_RoyaleArena_ShouldThrow()
    {
        //Arrange
        IArena RA = new RoyaleArena();

        //Act
        //Assert
        Assert.Throws <InvalidOperationException>(() => RA.GetById(5));
    }
Пример #2
0
    public void GetById_On_ExistingElement_ShouldWorkCorrectly()
    {
        //Arrange
        IArena     RA  = new RoyaleArena();
        Battlecard cd1 = new Battlecard(5, CardType.SPELL, "joro", 10, 5);
        Battlecard cd2 = new Battlecard(6, CardType.SPELL, "joro", 10, 5);
        Battlecard cd3 = new Battlecard(7, CardType.SPELL, "joro", 10, 5);

        //Act
        RA.Add(cd1);
        RA.Add(cd2);
        RA.Add(cd3);
        //Assert
        Assert.AreSame(cd1, RA.GetById(5));
        Assert.AreNotSame(
            new Battlecard(53, CardType.RANGED, "a", 10, 5),
            RA.GetById(7)
            );
    }
Пример #3
0
    public void GetById_On_NonExistingElement_ShouldThrow()
    {
        //Arrange
        IArena     RA  = new RoyaleArena();
        Battlecard cd1 = new Battlecard(5, CardType.SPELL, "joro", 10, 5);
        Battlecard cd2 = new Battlecard(6, CardType.SPELL, "joro", 10, 5);
        Battlecard cd3 = new Battlecard(7, CardType.SPELL, "joro", 10, 5);

        //Act
        RA.Add(cd1);
        RA.Add(cd2);
        RA.Add(cd3);
        RA.RemoveById(5);
        //Assert
        Assert.Throws <InvalidOperationException>(() => RA.GetById(5));
    }
Пример #4
0
    public void Count_Should_RemainCorrect_AfterRemoving()
    {
        //Arrange
        IArena     RA  = new RoyaleArena();
        Battlecard cd1 = new Battlecard(5, CardType.SPELL, "joro", 10, 5);
        Battlecard cd2 = new Battlecard(6, CardType.SPELL, "joro", 10, 5);
        Battlecard cd3 = new Battlecard(7, CardType.SPELL, "joro", 10, 5);

        //Act
        RA.Add(cd1);
        RA.Add(cd2);
        RA.Add(cd3);
        RA.RemoveById(cd1.Id);
        RA.RemoveById(cd3.Id);
        //Assert
        Assert.AreEqual(1, RA.Count);
        Assert.AreNotSame(cd1, RA.GetById(cd2.Id));
    }
Пример #5
0
    public void ChangeCardType_ShouldWorkFast()
    {
        IArena ar = new RoyaleArena();

        CardType[] statuses = new CardType[]
        {
            CardType.MELEE,
            CardType.RANGED,
            CardType.SPELL,
            CardType.BUILDING
        };
        Random            rand = new Random();
        List <Battlecard> cds  = new List <Battlecard>();

        for (int i = 0; i < 80_000; i++)
        {
            int        status = rand.Next(0, 4);
            Battlecard cd     = new Battlecard(i, statuses[status],
                                               i.ToString(), i, i);
            ar.Add(cd);
            cds.Add(cd);
        }

        int count = ar.Count;

        Assert.AreEqual(80_000, count);

        Stopwatch watch = new Stopwatch();

        watch.Start();

        foreach (Battlecard cd in cds)
        {
            int status = rand.Next(0, 4);
            ar.ChangeCardType(cd.Id, statuses[status]);
            Assert.AreEqual(statuses[status], ar.GetById(cd.Id).Type);
        }

        watch.Stop();
        long l1 = watch.ElapsedMilliseconds;

        Assert.Less(l1, 350);
    }