public void PartB_Actual()
        {
            var sut    = new DaySixteen();
            var result = sut.PartB();

            Assert.Equal("540", result);
        }
예제 #2
0
        public void testWithActualPartA()
        {
            var sut    = new DaySixteen();
            var result = sut.CalculateCheckSumToFillDisk("11011110011011101", 272);

            Assert.Equal("00000100100001100", result);
        }
        public void PartA_Actual()
        {
            var sut    = new DaySixteen();
            var result = sut.PartA();

            Assert.Equal("677", result);
        }
예제 #4
0
        public void testCreateChecksum()
        {
            var sut    = new DaySixteen();
            var result = sut.CreateCheckSum("110010110100");

            Assert.Equal("100", result);
        }
예제 #5
0
        public void testCalculateCheckSumToFillDisk()
        {
            var sut    = new DaySixteen();
            var result = sut.CalculateCheckSumToFillDisk("10000", 20);

            Assert.Equal("01100", result);
        }
예제 #6
0
        public void testCreateDragonCurveOfWidth(string input, int width, string expected)
        {
            var sut    = new DaySixteen();
            var result = sut.CreateDragonCurveOfWidth(width, input);

            Assert.Equal(expected, result);
        }
예제 #7
0
        public void TestPartA()
        {
            var sut    = new DaySixteen();
            var result = sut.PartA();

            Assert.Equal("cgpfhdnambekjiol", result);
        }
        public void HowManySamplesBehaveLikeAtLeastThreeOpcodes()
        {
            var filePath = @"Sixteen\DaySixteenTestInput.txt";
            var sut      = new DaySixteen();
            var result   = sut.HowManySamplesBehaveLikeAtLeastThreeOpcodes(filePath);

            Assert.Equal(1, result);
        }
예제 #9
0
        public void TestExecuteDance()
        {
            var    dancers    = "abcde";
            string danceMoves = "s1,x3/4,pe/b";
            var    sut        = new DaySixteen();
            var    result     = sut.ExecuteDance(dancers, danceMoves);

            Assert.Equal("baedc", result);
        }
예제 #10
0
        public void FindTicketErrorRate()
        {
            string filePath  = @"Sixteen\DaySixteenTestInputA_Rules.txt";
            var    evaluator = new TicketEvaluator(filePath);

            filePath = @"Sixteen\DaySixteenTestInputA_Tickets.txt";
            List <Ticket> tickets = FileUtility.ParseFileToList(filePath, line => new Ticket(line));

            var sut    = new DaySixteen();
            var result = sut.FindTicketErrorRate(tickets, evaluator);

            Assert.Equal(71, result);
        }
예제 #11
0
        public void DeterminedMatchedFieldOrder()
        {
            string filePath  = @"Sixteen\DaySixteenTestInputB_Rules.txt";
            var    evaluator = new TicketEvaluator(filePath);

            filePath = @"Sixteen\DaySixteenTestInputB_Tickets.txt";
            var tickets = FileUtility.ParseFileToList(filePath, line => new Ticket(line));

            var sut    = new DaySixteen();
            var result = sut.DeterminedMatchedFieldOrder(tickets, evaluator);

            Assert.Equal(1, result[0]);
            Assert.Equal(0, result[1]);
            Assert.Equal(2, result[2]);
        }