Exemplo n.º 1
0
        public IEnumerable <Good> GenerateAtLevel(int level)
        {
            eventQueue.Enqueue("TreasureGen", $"Beginning level {level} goods generation");
            var goods = innerGenerator.GenerateAtLevel(level);

            eventQueue.Enqueue("TreasureGen", $"Completed generation of {goods.Count()} level {level} goods");

            return(goods);
        }
        public Treasure GenerateAtLevel(int level)
        {
            var treasure = new Treasure();

            treasure.Coin  = coinFactory.GenerateAtLevel(level);
            treasure.Goods = goodsFactory.GenerateAtLevel(level);
            treasure.Items = itemsFactory.GenerateAtLevel(level);

            return(treasure);
        }
Exemplo n.º 3
0
        private void GenerateAndAssertGoods()
        {
            var level = GetNewLevel();
            var goods = goodsGenerator.GenerateAtLevel(level);

            Assert.That(goods, Is.Not.Null);

            foreach (var good in goods)
            {
                Assert.That(good.Description, Is.Not.Empty);
                Assert.That(good.ValueInGold, Is.Positive);
            }
        }
Exemplo n.º 4
0
        public Treasure GenerateAtLevel(int level)
        {
            if (level < LevelLimits.Minimum || level > LevelLimits.Maximum)
            {
                throw new ArgumentException($"Level {level} is not a valid level for treasure generation");
            }

            var treasure = new Treasure();

            treasure.Coin  = coinFactory.GenerateAtLevel(level);
            treasure.Goods = goodsFactory.GenerateAtLevel(level);
            treasure.Items = itemsFactory.GenerateRandomAtLevel(level);

            return(treasure);
        }
        public void LogGenerationEvents()
        {
            var innerGoods = new List <Good>();

            innerGoods.Add(new Good());
            innerGoods.Add(new Good());

            mockInnerGenerator.Setup(g => g.GenerateAtLevel(9266)).Returns(innerGoods);

            var Goods = decorator.GenerateAtLevel(9266);

            Assert.That(Goods, Is.EqualTo(innerGoods));
            mockEventQueue.Verify(q => q.Enqueue(It.IsAny <string>(), It.IsAny <string>()), Times.Exactly(2));
            mockEventQueue.Verify(q => q.Enqueue("TreasureGen", "Beginning level 9266 goods generation"), Times.Once);
            mockEventQueue.Verify(q => q.Enqueue("TreasureGen", "Completed generation of 2 level 9266 goods"), Times.Once);
        }
        public void GoodsAreGenerated()
        {
            var goods = generator.GenerateAtLevel(1);

            Assert.That(goods, Is.Not.Null);
        }
Exemplo n.º 7
0
 public void GenerateAtLevel_ThrowsException_LevelTooLow()
 {
     Assert.That(() => generator.GenerateAtLevel(LevelLimits.Minimum - 1),
                 Throws.ArgumentException.With.Message.EqualTo($"Level 0 is not a valid level for treasure generation"));
 }