public void AttackMonsterReportsCorrectly() { LaserGun w = new LaserGun("Test Weapon", "Test Weapon", 1); Monster m = new Monster("Test", 10); MonsterHunter mh = new MonsterHunter("First", "Last", w, w); string expected = $"{mh.GetFullName()} hits {m.Name} with {w.Name} doing {w.Damage} damage."; Assert.AreEqual(mh.Attack(m), expected); }
public void WeaponWithOneDamageKills1HealthMonster() { LaserGun w = new LaserGun("Test Weapon", "Test Weapon", 1); Monster m = new Monster("Test", 1); MonsterHunter mh = new MonsterHunter("First", "Last", w, w); string expected = $"{mh.GetFullName()} hits {m.Name} with {w.Name} and kills it!"; Assert.AreEqual(mh.Attack(m), expected); }
public void CanAttemptCaptureMonster() { LaserGun w = new LaserGun("Test Weapon", "Test Weapon", 1); Monster m = new Monster("Test", 10) { IsElderDragon = false }; MonsterHunter mh = new MonsterHunter("First", "Last", w, "Longsword"); string expected = $"{mh.GetFullName()} attempts to capture {m.Name} ...... and caught it!"; string expected2 = $"{mh.GetFullName()} attempts to capture {m.Name} ...... but it escaped!"; string actual = mh.Capture(m); Assert.That(actual.Equals(expected)); Assert.That(actual.Equals(expected2)); Assert.AreEqual(actual, expected); Assert.AreEqual(actual, expected2); }