Пример #1
0
        public void ShouldGroupShapeByColor()
        {
            var order = new Order(new List <Block>()
            {
                new Block(ColorEnum.Blue, ShapeEnum.Square),
                new Block(ColorEnum.Red, ShapeEnum.Square),
                new Block(ColorEnum.Yellow, ShapeEnum.Square),
                new Block(ColorEnum.Blue, ShapeEnum.Triangle),
                new Block(ColorEnum.Blue, ShapeEnum.Triangle),
                new Block(ColorEnum.Yellow, ShapeEnum.Triangle),
                new Block(ColorEnum.Red, ShapeEnum.Circle),
                new Block(ColorEnum.Yellow, ShapeEnum.Circle),
                new Block(ColorEnum.Yellow, ShapeEnum.Circle),
            });
            var orderSummariser = new OrderSummariser();

            var result = orderSummariser.GroupShapeByColor(order);

            var expected = new Dictionary <Tuple <ShapeEnum, ColorEnum>, int>()
            {
                { new Tuple <ShapeEnum, ColorEnum>(ShapeEnum.Square, ColorEnum.Blue), 1 },
                { new Tuple <ShapeEnum, ColorEnum>(ShapeEnum.Square, ColorEnum.Red), 1 },
                { new Tuple <ShapeEnum, ColorEnum>(ShapeEnum.Square, ColorEnum.Yellow), 1 },
                { new Tuple <ShapeEnum, ColorEnum>(ShapeEnum.Triangle, ColorEnum.Blue), 2 },
                { new Tuple <ShapeEnum, ColorEnum>(ShapeEnum.Triangle, ColorEnum.Red), 0 },
                { new Tuple <ShapeEnum, ColorEnum>(ShapeEnum.Triangle, ColorEnum.Yellow), 1 },
                { new Tuple <ShapeEnum, ColorEnum>(ShapeEnum.Circle, ColorEnum.Blue), 0 },
                { new Tuple <ShapeEnum, ColorEnum>(ShapeEnum.Circle, ColorEnum.Red), 1 },
                { new Tuple <ShapeEnum, ColorEnum>(ShapeEnum.Circle, ColorEnum.Yellow), 2 },
            };

            Assert.Equal(expected, result);
        }
Пример #2
0
        public void ShouldCountShapesOfSingleShapeOrder()
        {
            var order = new Order(new List <Block>()
            {
                new Block(ColorEnum.Blue, ShapeEnum.Circle)
            });
            var orderSummariser = new OrderSummariser();

            var result = orderSummariser.CountShapes(order);

            var expected = new Dictionary <ShapeEnum, int>()
            {
                { ShapeEnum.Circle, 1 },
                { ShapeEnum.Square, 0 },
                { ShapeEnum.Triangle, 0 }
            };

            Assert.Equal(expected, result);
        }