コード例 #1
0
        public void GrowRectangleFrom_CanGrowToTop_ReturnsCorrectBounds()
        {
            string input = "###" + Environment.NewLine +
                           "#.#" + Environment.NewLine +
                           "#s#" + Environment.NewLine +
                           "###";

            char[,] data = ParseInput(input, out Position center);
            Func <Position, bool> canConstruct = CanConstruct(data);

            Bounds bounds = PlaceFinder.GrowRectangleFrom(center, canConstruct);

            Bounds expectedBounds = new Bounds(1, 1, 0, 1);

            bounds.Should().Be(expectedBounds);
        }
コード例 #2
0
        public void GrowRectangleFrom_CenterSurroundedByWalls_DoesNotGrowFromCenter()
        {
            string input = "###" + Environment.NewLine +
                           "#s#" + Environment.NewLine +
                           "###" + Environment.NewLine +
                           "#.#";

            char[,] data = ParseInput(input, out Position center);
            Func <Position, bool> canConstruct = CanConstruct(data);

            Bounds bounds = PlaceFinder.GrowRectangleFrom(center, canConstruct);

            Bounds expectedBounds = new Bounds(1, 2, 0, 1);

            bounds.Should().Be(expectedBounds);
        }