public void CreaturesFactory_WhenInvalidNameIsPassed_ShouldThrowArgumentException() { // Arrange var factory = new ExtendedCreaturesFactory(); // Act & Assert Assert.Throws<ArgumentException>(() => factory.CreateCreature("ChaosHydra")); }
public void CreaturesFactory_WhenValidNameIsPassed_ShouldReturnExpectedType(string name, Type expectedCreature) { // Arrange var factory = new ExtendedCreaturesFactory(); // Act var creature = factory.CreateCreature(name); // Assert Assert.IsInstanceOf(expectedCreature.GetType(), creature.GetType()); }
public void CreaturesFactory_WhenInvalidNameIsPassed_ShouldThrowArgumentExceptionWithExpectedMessage() { // Arrange var factory = new ExtendedCreaturesFactory(); // Act & Assert (method 1) try { factory.CreateCreature("ChaosHydra"); } catch (ArgumentException ex) { Assert.AreEqual($"Invalid creature type \"ChaosHydra\"!", ex.Message); } //// Act & Assert (method 2) // Assert.That(() => factory.CreateCreature("ChaosHydra"), Throws.ArgumentException.With.Message.Contains($"Invalid creature type \"ChaosHydra\"!")); }