コード例 #1
0
ファイル: ItemTests.cs プロジェクト: andy-uq/Echo
        public void ItemNameIsItemInfoName()
        {
            var itemInfo = new ItemInfo {Name = "Name of item"};
            var item = new Item(itemInfo);

            Assert.That(item.Name, Is.EqualTo(itemInfo.Name));
        }
コード例 #2
0
ファイル: MiningTests.cs プロジェクト: andy-uq/Echo
        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);
        }
コード例 #3
0
ファイル: MiningTests.cs プロジェクト: andy-uq/Echo
        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));
        }
コード例 #4
0
 private Item Item(uint quantity=1)
 {
     var itemInfo = new ItemInfo(ItemCode.Veldnium);
     return new Item(itemInfo, quantity);
 }
コード例 #5
0
ファイル: Item.cs プロジェクト: andy-uq/Echo
 public Item(ItemInfo itemInfo, uint quantity = 1)
 {
     ItemInfo = itemInfo;
     Quantity = quantity;
 }