Example #1
0
 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);
 }
Example #2
0
 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);
 }
Example #3
0
 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));
 }