Exemplo n.º 1
0
            private ISet <IItem> MakeBelongings(int numberOfBelongingsToGenerate)
            {
                ISet <IItem> set = new HashSet <IItem>();

                for (var i = 0; i < numberOfBelongingsToGenerate; i++)
                {
                    IItem item = new Item(i + 1);
                    var   rand = _random.Next(0, 100);

                    {
                        switch (rand)
                        {
                        case int n when(rand >= 85):
                            item = new CollectorsDecorator(item);

                            break;

                        case int n when(84 > rand):
                            item = new BadConditionDecorator(item);

                            break;
                        }
                    }
                    set.Add(item);
                }
                return(set);
            }
        public void ShouldSetPriceToHalf()
        {
            var mock = new Mock <IItem>();

            mock.Setup(item => item.Price).Returns(100);

            var badItem = new BadConditionDecorator(mock.Object);

            Assert.Equal(50, badItem.Price);
        }