public void ShouldRemoveRedundantPositions()
        {
            var position1 = new Position // Should be kept
            {
                Coordinates = new Coordinates {
                    X = new Coordinate(70), Y = new Coordinate(80)
                },
                CoordinateSystem =
                    new CoordinateSystem
                {
                    Name        = "System A - natural boundaries",
                    SosiCode    = 1000,
                    BoundaryBox = new BoundaryBox {
                        MinX = 50, MaxX = 100, MinY = 50, MaxY = 100
                    }
                }
            };
            var position2 = new Position // Should be excluded
            {
                Coordinates = new Coordinates {
                    X = new Coordinate(70), Y = new Coordinate(80)
                },
                CoordinateSystem =
                    new CoordinateSystem
                {
                    Name        = "System A - extended boundaries",
                    SosiCode    = 1000,
                    BoundaryBox = new BoundaryBox {
                        MinX = 0, MaxX = 150, MinY = 0, MaxY = 150
                    }
                }
            };
            var position3 = new Position // Should be kept
            {
                Coordinates = new Coordinates {
                    X = new Coordinate(80), Y = new Coordinate(70)
                },
                CoordinateSystem =
                    new CoordinateSystem
                {
                    Name        = "System A - natural boundaries",
                    SosiCode    = 1000,
                    BoundaryBox = new BoundaryBox {
                        MinX = 50, MaxX = 100, MinY = 50, MaxY = 100
                    }
                }
            };
            var position4 = new Position // Should be excluded
            {
                Coordinates = new Coordinates {
                    X = new Coordinate(80), Y = new Coordinate(70)
                },
                CoordinateSystem =
                    new CoordinateSystem
                {
                    Name        = "System A - extended boundaries",
                    SosiCode    = 1000,
                    BoundaryBox = new BoundaryBox {
                        MinX = 0, MaxX = 150, MinY = 0, MaxY = 150
                    }
                }
            };
            var position5 = new Position // Should be kept
            {
                Coordinates = new Coordinates {
                    X = new Coordinate(70), Y = new Coordinate(80)
                },
                CoordinateSystem =
                    new CoordinateSystem
                {
                    Name        = "System B - natural boundaries",
                    SosiCode    = 1001,
                    BoundaryBox = new BoundaryBox {
                        MinX = 50, MaxX = 100, MinY = 50, MaxY = 100
                    }
                }
            };
            var position6 = new Position // Should be excluded
            {
                Coordinates = new Coordinates {
                    X = new Coordinate(70), Y = new Coordinate(80)
                },
                CoordinateSystem =
                    new CoordinateSystem
                {
                    Name        = "System B - extended boundaries",
                    SosiCode    = 1001,
                    BoundaryBox = new BoundaryBox {
                        MinX = 0, MaxX = 150, MinY = 0, MaxY = 150
                    }
                }
            };
            var position7 = new Position // Should be kept
            {
                Coordinates = new Coordinates {
                    X = new Coordinate(80), Y = new Coordinate(70)
                },
                CoordinateSystem =
                    new CoordinateSystem
                {
                    Name        = "System B - natural boundaries",
                    SosiCode    = 1001,
                    BoundaryBox = new BoundaryBox {
                        MinX = 50, MaxX = 100, MinY = 50, MaxY = 100
                    }
                }
            };
            var position8 = new Position // Should be excluded
            {
                Coordinates = new Coordinates {
                    X = new Coordinate(80), Y = new Coordinate(70)
                },
                CoordinateSystem =
                    new CoordinateSystem
                {
                    Name        = "System B - extended boundaries",
                    SosiCode    = 1001,
                    BoundaryBox = new BoundaryBox {
                        MinX = 0, MaxX = 150, MinY = 0, MaxY = 150
                    }
                }
            };

            var positions = new List <Position>
            {
                position1,
                position2,
                position3,
                position4,
                position5,
                position6,
                position7,
                position8
            };

            var expectedPositions = new List <Position>
            {
                position1,
                position3,
                position5,
                position7
            };

            PositionFinder.RemoveRedundantPositions(positions);

            PositionListsAreEqual(positions, expectedPositions).Should().BeTrue();
        }