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); }
public void GetByName_ShouldThrow_On_EmptyRA() { //Arrange IArena RA = new RoyaleArena(); //Act //Assert Assert.Throws <InvalidOperationException>(() => { RA.GetByNameOrderedBySwagDescending("pesho"); }); }
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(); }
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"); }); }
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); }