public void GetByCardType_ShouldReturnCorrectResultAfterRemove() { //Arrange IArena RA = new RoyaleArena(); Battlecard cd1 = new Battlecard(2, CardType.SPELL, "valq", 2, 14.8); Battlecard cd2 = new Battlecard(1, CardType.SPELL, "valq", 2, 14.8); Battlecard cd3 = new Battlecard(4, CardType.SPELL, "valq", 4, 15.6); Battlecard cd4 = new Battlecard(3, CardType.SPELL, "valq", 3, 15.6); Battlecard cd5 = new Battlecard(8, CardType.RANGED, "valq", 8, 17.8); List <Battlecard> expected = new List <Battlecard>() { cd3, cd2, cd1 }; //Act RA.Add(cd1); RA.Add(cd3); RA.Add(cd2); RA.Add(cd4); RA.Add(cd5); RA.RemoveById(8); RA.RemoveById(3); //Assert List <Battlecard> actual = RA .GetByCardType(CardType.SPELL) .ToList(); CollectionAssert.AreEqual(expected, actual); }
public void GetByCardType_ShouldReturnCorrectResultAfterRemove() { //Arrange IArena RA = new RoyaleArena(); BattleCard cd1 = new BattleCard(2, CardType.SPELL, "valq", 2, 14.8); BattleCard cd2 = new BattleCard(1, CardType.SPELL, "valq", 2, 14.8); BattleCard cd3 = new BattleCard(4, CardType.SPELL, "valq", 4, 15.6); BattleCard cd4 = new BattleCard(3, CardType.SPELL, "valq", 3, 15.6); BattleCard cd5 = new BattleCard(8, CardType.RANGED, "valq", 8, 17.8); List <BattleCard> expected = new List <BattleCard>() { cd3, cd2, cd1 }; //Act RA.Add(cd1); RA.Add(cd3); RA.Add(cd2); RA.Add(cd4); RA.Add(cd5); RA.RemoveById(8); RA.RemoveById(3); //Assert IEnumerable <BattleCard> battlecards = RA.GetByCardType(CardType.SPELL); List <BattleCard> actual = new List <BattleCard>(); foreach (var item in battlecards) { actual.Add(item); } CollectionAssert.AreEquivalent(expected, actual); }
public void GetByNonExistingCardType_ShouldThrow() { //Arrange IArena RA = new RoyaleArena(); Battlecard cd1 = new Battlecard(2, CardType.SPELL, "valq", 5, 14.8); Battlecard cd2 = new Battlecard(1, CardType.SPELL, "valq", 5, 14.8); Battlecard cd3 = new Battlecard(4, CardType.SPELL, "valq", 6, 15.6); Battlecard cd4 = new Battlecard(3, CardType.SPELL, "valq", 7, 15.6); Battlecard cd5 = new Battlecard(8, CardType.RANGED, "valq", 8, 17.8); //Act RA.Add(cd1); RA.Add(cd3); RA.Add(cd2); RA.Add(cd4); RA.Add(cd5); //Assert Assert.Throws <InvalidOperationException>(() => { RA.GetByCardType(CardType.BUILDING).First(); }); }
public void GetByCardType_ShouldWorkFast() { IArena ar = new RoyaleArena(); List <Battlecard> cds = new List <Battlecard>(); Random rand = new Random(); for (int i = 0; i < 100000; i++) { int amount = rand.Next(0, 50000); Battlecard cd = new Battlecard(i, CardType.SPELL, i.ToString(), i, amount); ar.Add(cd); cds.Add(cd); } int count = ar.Count; Assert.AreEqual(100000, count); Stopwatch watch = new Stopwatch(); watch.Start(); IEnumerable <Battlecard> byStatus = ar.GetByCardType( CardType.SPELL); int c = 0; foreach (Battlecard employee in byStatus) { c++; } watch.Stop(); long l1 = watch.ElapsedMilliseconds; Assert.Less(l1, 160); Assert.AreEqual(100000, c); }