public void bullet_fired_event_is_fired() { var tank = new Tank(); var firedGuid = Guid.Empty; tank.BulletFired += (sender, guid) => firedGuid = guid; tank.Fire(); Assert.AreNotEqual(Guid.Empty, firedGuid); }
public void firing_with_no_bullets_does_not_throw() { var tank = new Tank(); var numBullets = tank.Bullets.Count; for (int i = 0; i <= numBullets; i++) { Assert.DoesNotThrow(() => tank.Fire()); } Assert.AreEqual(0, tank.Bullets.Count); }
public void fired_bullet_removed_from_stack() { var tank = new Tank(); var firedGuid = Guid.Empty; tank.BulletFired += (sender, guid) => firedGuid = guid; tank.Fire(); if(tank.Bullets.GroupBy(b => b.SerialNumber).Any(g => g.Count() > 1)) { Assert.Inconclusive("Duplicate guids!"); //Let me know if you get this! Pic or didn't happen! } Assert.AreNotEqual(Guid.Empty, firedGuid); Assert.That(tank.Bullets.All(b => b.SerialNumber != firedGuid)); }