public void GetById_On_Empty_RoyaleArena_ShouldThrow() { //Arrange IArena RA = new RoyaleArena(); //Act //Assert Assert.Throws <InvalidOperationException>(() => RA.GetById(5)); }
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) ); }
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)); }
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)); }
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); }