public void Dummy_ShouldThrowInvalidOperationException_WhenAttacked_ButDead() { int axeAttack = 10; int axeDurability = 10; int dummyHealth = 1; int dummyExperience = 1; var axe = new Sut(axeAttack, axeDurability); var dummy = new Dummy(dummyHealth, dummyExperience); axe.Attack(dummy); Assert.Throws <InvalidOperationException>(() => axe.Attack(dummy), "Dummy should not be attacked when dead."); }
public void Dummy_ShouldLoseHealth_WhenAttacked() { int axeAttack = 1; int axeDurability = 10; int dummyHealth = 10; int dummyExperience = 10; var axe = new Sut(axeAttack, axeDurability); var dummy = new Dummy(dummyHealth, dummyExperience); axe.Attack(dummy); Assert.AreEqual(dummyHealth - axeAttack, dummy.Health, "Dummy did not lose health equal to attak."); }
public void AxeAttack_DecreasesTheDurabilityOfTheAxe() { int axeAttack = 10; int axeDurability = 10; int dummyHealth = 10; int dummyExperience = 10; var axe = new Sut(axeAttack, axeDurability); var dummy = new Dummy(dummyHealth, dummyExperience); axe.Attack(dummy); Assert.AreEqual(axeDurability - 1, axe.Durability, "Axe Durability does not change after attack."); }
public void Axe_CannotAtack_WhenBroken() { int axeAttack = 2; int axeDurability = 2; int dummyHealth = 20; int dummyExperience = 20; var axe = new Sut(axeAttack, axeDurability); var dummy = new Dummy(dummyHealth, dummyExperience); axe.Attack(dummy); axe.Attack(dummy); Assert.Throws <InvalidOperationException>(() => axe.Attack(dummy), "Broken Axe should not be able to attack"); }