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

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

        //Act
        RA.Add(cd1);
        RA.Add(cd2);
        RA.Add(cd3);
        RA.ChangeCardType(7, CardType.BUILDING);
        RA.ChangeCardType(5, CardType.MELEE);
        RA.ChangeCardType(6, CardType.SPELL);
        //Assert
        Assert.AreEqual(3, RA.Count);
        Assert.AreEqual(cd1.Type, CardType.MELEE);
        Assert.AreEqual(cd3.Type, CardType.BUILDING);
        Assert.AreEqual(cd2.Type, CardType.SPELL);
    }
Пример #3
0
    public void ChangeCardType_ShouldWorkCorrectly_On_Existingcd()
    {
        //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.ChangeCardType(5, CardType.MELEE);
        //Assert
        Assert.AreEqual(CardType.MELEE, cd1.Type);
        Assert.AreEqual(3, RA.Count);
    }
Пример #4
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);
    }