Example #1
0
        public void Day24_SameTile_Ok(string directions, int x, int y)
        {
            var sut = new LobbyLayout();

            var expected = Tuple.Create(x, y);
            var actual   = sut.FindTile(directions, 0, 0);

            Assert.True(expected.Equals(actual));
        }
Example #2
0
        public void Day24_LobbyLayout_Part1_ok()
        {
            var lines = DailyDataUtilities.ReadLinesFromFile("Day24Data.Txt");

            Assert.Equal(471, lines.Length);

            var sut = new LobbyLayout();

            sut.ProcessDirections(lines);
            var actual = sut.CountBlackTiles();

            Assert.Equal(411, actual);
            Assert.Equal(441, sut.Tiles.Count);
        }
Example #3
0
        public void Day24_ReadDataExample1_ok()
        {
            var lines = DailyDataUtilities.ReadLinesFromFile("Day24Example1Data.Txt");

            Assert.Equal(20, lines.Length);

            var sut = new LobbyLayout();

            sut.ProcessDirections(lines);
            var actual = sut.CountBlackTiles();

            Assert.Equal(10, actual);
            Assert.Equal(15, sut.Tiles.Count);
        }
Example #4
0
        public void Day24_GenerationsExample_ok(int days, int expected)
        {
            var lines = DailyDataUtilities.ReadLinesFromFile("Day24Example1Data.Txt");

            Assert.Equal(20, lines.Length);

            var sut = new LobbyLayout();

            sut.ProcessDirections(lines);
            var actual = sut.CountBlackTiles();

            Assert.Equal(10, actual);
            Assert.Equal(15, sut.Tiles.Count);
            for (int i = 0; i < days; i++)
            {
                sut.ProcessGeneration();
            }
            actual = sut.CountBlackTiles();
            Assert.Equal(expected, actual);
        }
Example #5
0
 protected override long?SolvePart2Impl(string input) => LobbyLayout.SimulateLivingArtExhibit(input, 100).NumOfTilesBlackSideUp;
Example #6
0
 protected override long?SolvePart1Impl(string input) => LobbyLayout.ParsePuzzleInput(input).NumOfTilesBlackSideUp;