public void RemoveResourcesNotInInventoryException(MaterialType[] playerResources, MaterialType[] removeResources) { var player = new Player("Henk"); foreach (var resource in playerResources) { var mock = new Mock<IRawMaterial>(); mock.Setup(m => m.Type).Returns(resource); player.AddResources(mock.Object); } Assert.Throws<InvalidOperationException>(() => player.TakeResources(removeResources)); Assert.True(player.HasResources(playerResources)); //assert nothing gets removed when failing }
public void RemoveResourcesTest(MaterialType[] playerResources, MaterialType[] removeResources, MaterialType[] expected) { var player = new Player("Henk"); foreach (var resource in playerResources) { var mock = new Mock<IRawMaterial>(); mock.Setup(m => m.Type).Returns(resource); player.AddResources(mock.Object); } IEnumerable<IRawMaterial> materials = player.TakeResources(removeResources); Assert.Equal(expected, player.Inventory.Select(i => i.Type)); Assert.Equal(removeResources, materials.Select(m => m.Type)); Assert.Equal(removeResources.Length, materials.Count()); }
public void RemoveResourcesNullException() { var player = new Player("Bob"); Assert.Throws<ArgumentNullException>(() => player.TakeResources(null)); }