예제 #1
0
        public void OrderWiring()
        {
            var sut = new SubmarineDisplays("acedgfb cdfbe gcdfa fbcad dab cefabd cdfgeb eafb cagedb ab | cdfeb fcadb cdfeb cdbaf");

            Assert.Collection(sut.GetDisplayFor(0),
                              p1 => Assert.Equal("bcdef", p1),
                              p2 => Assert.Equal("abcdf", p2),
                              p3 => Assert.Equal("bcdef", p3),
                              p4 => Assert.Equal("abcdf", p4));
        }
예제 #2
0
        public void DecodeDisplaySegmentsCorrectly(string data, char wireA, char wireB, char wireC, char wireD, char wireE, char wireF, char wireG)
        {
            var sut = new SubmarineDisplays(data);

            Assert.Collection(sut.GetWiringForDisplay(0),
                              p1 => Assert.Equal(wireA, p1),
                              p2 => Assert.Equal(wireB, p2),
                              p3 => Assert.Equal(wireC, p3),
                              p4 => Assert.Equal(wireD, p4),
                              p5 => Assert.Equal(wireE, p5),
                              p6 => Assert.Equal(wireF, p6),
                              p7 => Assert.Equal(wireG, p7));
        }
예제 #3
0
        public void ReturnFixedDisplay(string data, int expectedDisplay)
        {
            var sut = new SubmarineDisplays(data);

            Assert.Equal(expectedDisplay, sut.GetFixedDisplayFor(0));
        }
예제 #4
0
        public void SolveFirstPuzzle()
        {
            var sut = new SubmarineDisplays(REAL_SCANNINGS);

            Assert.Equal(504, sut.DigitsWithUniqueNumberOfSegments);
        }
예제 #5
0
        public void CountDigitsWithUniqueNumberOfSegments()
        {
            var sut = new SubmarineDisplays(SAMPLE_SCANNINGS);

            Assert.Equal(26, sut.DigitsWithUniqueNumberOfSegments);
        }
예제 #6
0
        public void ParseInformationCorrectly(string wiring, int expectedSets)
        {
            var sut = new SubmarineDisplays(wiring);

            Assert.Equal(expectedSets, sut.TotalScannings);
        }
예제 #7
0
        public void SolveSecondPuzzle()
        {
            var sut = new SubmarineDisplays(REAL_SCANNINGS);

            Assert.Equal(1073431, sut.GetSumOfDisplays());
        }
예제 #8
0
        public void ReturnSumOfDisplays_WhenUsingSampleScannings()
        {
            var sut = new SubmarineDisplays(SAMPLE_SCANNINGS);

            Assert.Equal(61229, sut.GetSumOfDisplays());
        }