Exemplo n.º 1
0
        public void CanParseMyInput()
        {
            var day = new Day20(Inputs.Day20);

            day.BuildMap();

            //	Render(day.Map);
            Assert.Equal('#', day.Map[0, 0]);
        }
Exemplo n.º 2
0
        public void Q2()
        {
            var day = new Day20(Inputs.Day20);

            day.BuildMap();
            var result = day.SearchFarRooms();

            Render(day.Map);
            Assert.Equal(8492, result);
        }
Exemplo n.º 3
0
        public void Q1()
        {
            var day = new Day20(Inputs.Day20);

            day.BuildMap();
            var result = day.SearchForLongestPath();

            Render(day.Map);
            Assert.Equal(4214, result);
        }
Exemplo n.º 4
0
        public void CanParseAndExpandExpressions()
        {
            var input = @"^ENWWW(NEEE|SSE(EE|N))$";

            var day = new Day20(input);

            day.BuildMap();

            //	Render(day.Map);
            Assert.Equal('X', day.Map[6, 6]);
        }
Exemplo n.º 5
0
        public void CanFindLongestPathB()
        {
            var input = @"^ENNWSWW(NEWS|)SSSEEN(WNSE|)EE(SWEN|)NNN$";

            var day = new Day20(input);

            day.BuildMap();
            var result = day.SearchForLongestPath();

            //	Render(day.Map);
            Assert.Equal(18, result);
        }
Exemplo n.º 6
0
        public void CanFindLongestPathA()
        {
            var input = @"^ENWWW(NEEE|SSE(EE|N))$";

            var day = new Day20(input);

            day.BuildMap();
            var result = day.SearchForLongestPath();

            //	Render(day.Map);
            Assert.Equal(10, result);
        }
Exemplo n.º 7
0
        public void CanFindLongestPathBasic()
        {
            var input = @"^WNE$";

            var day = new Day20(input);

            day.BuildMap();
            var result = day.SearchForLongestPath();

            //	Render(day.Map);
            Assert.Equal(3, result);
        }
Exemplo n.º 8
0
        public void CanFindLongestPathD()
        {
            var input = @"^WSSEESWWWNW(S|NENNEEEENN(ESSSSW(NWSW|SSEN)|WSWWN(E|WWS(E|SS))))$";

            var day = new Day20(input);

            day.BuildMap();
            var result = day.SearchForLongestPath();

            //	Render(day.Map);
            Assert.Equal(31, result);
        }
Exemplo n.º 9
0
        public void CanFindLongestPathC()
        {
            var input = @"^ESSWWN(E|NNENN(EESS(WNSE|)SSS|WWWSSSSE(SW|NNNE)))$";

            var day = new Day20(input);

            day.BuildMap();
            var result = day.SearchForLongestPath();

            //	Render(day.Map);
            Assert.Equal(23, result);
        }
Exemplo n.º 10
0
        public void BuildMap()
        {
            var tiles = _day20.ParseInput(_sample);

            _day20.BuildMap(tiles);
        }