public void ShouldReturnAListOfBlocksWithoutDuplicateBlocks()
        {
            var item1 = new OrderItem(_circle, _yellow);
            var item2 = new OrderItem(_circle, _red);
            var item3 = new OrderItem(_sqaure, _yellow);
            var item4 = new OrderItem(_circle, _yellow);

            var orderItems = new List <OrderItem>
            {
                item1, item2, item3, item4
            };
            var orderItemsCollection = new OrderItemsCollection(orderItems);

            var result = orderItemsCollection.GetAllShapes();

            Assert.Equal(2, result.Count);
            Assert.Contains(_circle, result);
            Assert.Contains(_sqaure, result);
        }
        public void ShouldReturnAListOfColorsWithoutDuplicateColors()
        {
            var item1      = new OrderItem(_circle, _yellow);
            var item2      = new OrderItem(_circle, _red);
            var item3      = new OrderItem(_sqaure, _red);
            var item4      = new OrderItem(_sqaure, _yellow);
            var item5      = new OrderItem(_triangle, _yellow);
            var orderItems = new List <OrderItem>
            {
                item1, item2, item3, item4, item5
            };
            var orderItemsCollection = new OrderItemsCollection(orderItems);

            var result = orderItemsCollection.GetAllColors();

            Assert.Equal(2, result.Count);
            Assert.Contains(_yellow, result);
            Assert.Contains(_red, result);
        }
        public void ShouldReturnNumberOfItemsInTheCollections()
        {
            var item1 = new OrderItem(_circle, _yellow);
            var item2 = new OrderItem(_circle, _red);
            var item3 = new OrderItem(_sqaure, _yellow);
            var item4 = new OrderItem(_triangle, _yellow);
            var item5 = new OrderItem(_triangle, _red);

            item1.SetQuantity(2);
            item2.SetQuantity(4);
            item3.SetQuantity(1);
            item4.SetQuantity(2);
            item5.SetQuantity(2);

            var orderItems = new List <OrderItem>
            {
                item1, item2, item3, item4, item5
            };
            var orderItemsCollection = new OrderItemsCollection(orderItems);

            Assert.Equal(5, orderItemsCollection.Count());
        }
        public void ShouldReturnTotalNumberOfTheGivenColorAndShape()
        {
            var item1 = new OrderItem(_circle, _yellow);
            var item2 = new OrderItem(_circle, _red);
            var item3 = new OrderItem(_sqaure, _yellow);
            var item4 = new OrderItem(_triangle, _yellow);
            var item5 = new OrderItem(_triangle, _red);

            item1.SetQuantity(2);
            item2.SetQuantity(4);
            item3.SetQuantity(1);
            item4.SetQuantity(2);
            item5.SetQuantity(2);

            var orderItems = new List <OrderItem>
            {
                item1, item2, item3, item4, item5
            };
            var orderItemsCollection = new OrderItemsCollection(orderItems);

            Assert.Equal(4, orderItemsCollection.GetQuantityByShapeAndColor(_circle, _red));
        }