public void ItemNameIsItemInfoName() { var itemInfo = new ItemInfo {Name = "Name of item"}; var item = new Item(itemInfo); Assert.That(item.Name, Is.EqualTo(itemInfo.Name)); }
public void AsteroidHasDifficulty() { var veldnium = new ItemInfo(ItemCode.Veldnium); var itemFactory = new Moq.Mock<IItemFactory>(MockBehavior.Strict); itemFactory.Setup(x => x.Build(ItemCode.Veldnium, It.IsAny<uint>())) .Returns<ItemCode, uint>((item, quantity) => new Item(veldnium, quantity)); var mining = new MiningTask(itemFactory.Object) { }; mining.SetParameters(new MineAsteroidParameters(_ship, _difficultAsteroid)); var result = mining.Mine(); Assert.That(result.Success, Is.True); Assert.That(result.StatusCode, Is.EqualTo(ShipTask.StatusCode.Pending)); Assert.That(_difficultAsteroid.AmountRemaining, Is.EqualTo(1000)); Assert.That(_ship.Tasks, Contains.Item(mining)); result = mining.Mine(); Assert.That(result.Success, Is.True); Assert.That(result.StatusCode, Is.EqualTo(ShipTask.StatusCode.Success)); Assert.That(result.Ore.Quantity, Is.EqualTo(2)); Assert.That(_difficultAsteroid.AmountRemaining, Is.EqualTo(998)); _ship.Tasks.ShouldNotContain(mining); }
public void CanMineAsteroid() { var veldnium = new ItemInfo(ItemCode.Veldnium); var itemFactory = new Moq.Mock<IItemFactory>(MockBehavior.Strict); itemFactory.Setup(x => x.Build(ItemCode.Veldnium, It.IsAny<uint>())).Returns<ItemCode, uint>((item, quantity) => new Item(veldnium, quantity)); var mining = new MiningTask(itemFactory.Object) { }; mining.SetParameters(new MineAsteroidParameters(_ship, _asteroid)); var result = (MiningResult )mining.Execute(); Assert.That(result.Success, Is.True); Assert.That(result.StatusCode, Is.EqualTo(ShipTask.StatusCode.Success)); Assert.That(result.Ore.Quantity, Is.EqualTo(2)); Assert.That(_asteroid.AmountRemaining, Is.EqualTo(998)); }
private Item Item(uint quantity=1) { var itemInfo = new ItemInfo(ItemCode.Veldnium); return new Item(itemInfo, quantity); }
public Item(ItemInfo itemInfo, uint quantity = 1) { ItemInfo = itemInfo; Quantity = quantity; }