Пример #1
0
    public void GetByName_ShouldWorkCorrectly()
    {
        //Arrange
        IArena            RA       = new RoyaleArena();
        Battlecard        cd1      = new Battlecard(2, CardType.SPELL, "joro", 5, 1);
        Battlecard        cd2      = new Battlecard(1, CardType.SPELL, "joro", 6, 1);
        Battlecard        cd3      = new Battlecard(4, CardType.SPELL, "joro", 7, 15.6);
        Battlecard        cd4      = new Battlecard(3, CardType.SPELL, "joro", 8, 15.6);
        Battlecard        cd5      = new Battlecard(8, CardType.RANGED, "joro", 11, 17.8);
        List <Battlecard> expected = new List <Battlecard>()
        {
            cd5, cd4, cd3, cd2, cd1
        };

        //Act
        RA.Add(cd1);
        RA.Add(cd3);
        RA.Add(cd2);
        RA.Add(cd4);
        RA.Add(cd5);
        //Assert
        List <Battlecard> actual = RA.GetByNameOrderedBySwagDescending("joro").ToList();

        CollectionAssert.AreEqual(expected, actual);
    }
        public void GetByName_ShouldWorkCorrectly()
        {
            //Arrange
            IArena            RA       = new RoyaleArena();
            BattleCard        cd1      = new BattleCard(2, CardType.SPELL, "joro", 5, 1);
            BattleCard        cd2      = new BattleCard(1, CardType.SPELL, "joro", 6, 1);
            BattleCard        cd3      = new BattleCard(4, CardType.SPELL, "joro", 7, 15.6);
            BattleCard        cd4      = new BattleCard(3, CardType.SPELL, "joro", 8, 15.6);
            BattleCard        cd5      = new BattleCard(8, CardType.RANGED, "joro", 11, 17.8);
            List <BattleCard> expected = new List <BattleCard>()
            {
                cd5, cd4, cd3, cd2, cd1
            };

            //Act
            RA.Add(cd1);
            RA.Add(cd3);
            RA.Add(cd2);
            RA.Add(cd4);
            RA.Add(cd5);

            //Assert
            IEnumerable <BattleCard> joro   = RA.GetByNameOrderedBySwagDescending("joro");
            List <BattleCard>        actual = new List <BattleCard>();

            foreach (var item in joro)
            {
                actual.Add(item);
            }
            CollectionAssert.AreEquivalent(expected, actual);
        }
Пример #3
0
    public void GetByName_ShouldThrow_On_EmptyRA()
    {
        //Arrange
        IArena RA = new RoyaleArena();

        //Act
        //Assert
        Assert.Throws <InvalidOperationException>(() => {
            RA.GetByNameOrderedBySwagDescending("pesho");
        });
    }
Пример #4
0
    static void Main(string[] args)
    {
        Battlecard cd1 = new Battlecard(2, CardType.SPELL, "joro", 5, 1);
        Battlecard cd2 = new Battlecard(1, CardType.SPELL, "joro", 6, 1);
        Battlecard cd3 = new Battlecard(4, CardType.SPELL, "joro", 7, 15.6);
        Battlecard cd4 = new Battlecard(3, CardType.SPELL, "joro", 8, 15.6);
        Battlecard cd5 = new Battlecard(8, CardType.RANGED, "joro", 11, 17.8);

        var a = new RoyaleArena();

        a.Add(cd1);
        a.Add(cd3);
        a.Add(cd2);
        a.Add(cd4);
        a.Add(cd5);

        var resultBySwag   = a.GetByNameOrderedBySwagDescending("joro").ToList();
        var resultByDemage = a.GetByCardTypeAndMaximumDamage(CardType.SPELL, 17).ToList();

        Console.WriteLine();
    }
Пример #5
0
    public void GetByName_On_NonExisting_Receiver_ShouldThrow()
    {
        //Arrange
        IArena     RA  = new RoyaleArena();
        Battlecard cd1 = new Battlecard(2, CardType.SPELL, "pesho", 53, 1);
        Battlecard cd2 = new Battlecard(1, CardType.SPELL, "mesho", 5, 1);
        Battlecard cd3 = new Battlecard(4, CardType.SPELL, "kalin", 6, 15.6);
        Battlecard cd4 = new Battlecard(3, CardType.SPELL, "peshor", 6, 15.6);
        Battlecard cd5 = new Battlecard(8, CardType.RANGED, "barko", 7, 17.8);

        //Act
        RA.Add(cd1);
        RA.Add(cd3);
        RA.Add(cd2);
        RA.Add(cd4);
        RA.Add(cd5);
        //Assert
        Assert.Throws <InvalidOperationException>(() =>
        {
            RA.GetByNameOrderedBySwagDescending("mecho");
        });
    }
Пример #6
0
    public void GetByNameOrderedBySwagDescending_ShouldWorkFast()
    {
        IArena            ar  = new RoyaleArena();
        List <Battlecard> cds = new List <Battlecard>();

        for (int i = 0; i < 100000; i++)
        {
            Battlecard cd = new Battlecard(i, CardType.SPELL,
                                           "player", i, i);
            ar.Add(cd);
            cds.Add(cd);
        }

        int count = ar.Count;

        cds = cds.OrderByDescending(x => x.Swag).ToList();
        Assert.AreEqual(100000, count);
        Stopwatch watch = new Stopwatch();

        watch.Start();

        IEnumerable <Battlecard> all = ar.GetByNameOrderedBySwagDescending("player");
        int c = 0;

        foreach (Battlecard cd in all)
        {
            Assert.AreSame(cd, cds[c]);
            c++;
        }

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

        Assert.Less(l1, 250);
        Assert.AreEqual(100000, c);
    }