public void Day24Part1_BioDiversityRating()
        {
            string[] bugsMap = new string[]
            {
                ".....",
                ".....",
                ".....",
                "#....",
                ".#..."
            };

            DiscordGameOfLife sut = new DiscordGameOfLife(bugsMap);

            Assert.Equal(2129920, sut.BioDiversityRating());
            sut.DumpBugs(0);
        }
        public void Day24Part1_Example01()
        {
            string[] bugsMap = new string[]
            {
                "....#",
                "#..#.",
                "#..##",
                "..#..",
                "#...."
            };
            DiscordGameOfLife sut = new DiscordGameOfLife(bugsMap);

            sut.DumpBugs(0);
            sut.States[sut.BioDiversityRating()] = 0;
            for (int i = 1; i < 5; i++)
            {
                sut.LiveOneMin(i);
                sut.DumpBugs(i);
            }
        }
        public void Day24Part1_Example01FindMatch()
        {
            string[] bugsMap = new string[]
            {
                "....#",
                "#..#.",
                "#..##",
                "..#..",
                "#...."
            };
            DiscordGameOfLife sut = new DiscordGameOfLife(bugsMap);

            sut.DumpBugs(0);
            sut.States[sut.BioDiversityRating()] = 0;
            int minute = 0;

            do
            {
                minute++;
            } while (!sut.LiveOneMin(minute));
            sut.DumpBugs(minute);
            Assert.Equal(2129920, sut.BioDiversityRating());
        }
        public void Day24Part1_TestSolution()
        {
            string[] bugsMap = new string[]
            {
                "..#.#",
                ".#.##",
                "...#.",
                "...##",
                "#.###"
            };

            DiscordGameOfLife sut = new DiscordGameOfLife(bugsMap);

            sut.DumpBugs(0);
            sut.States[sut.BioDiversityRating()] = 0;
            int minute = 0;

            do
            {
                minute++;
            } while (!sut.LiveOneMin(minute));
            sut.DumpBugs(minute);
            Assert.Equal(17863741, sut.BioDiversityRating());
        }