예제 #1
0
        public void TestApplySeatingPartTwo()
        {
            var state0      = LoadInput("input_2_state_0.txt");
            var state1      = LoadInput("input_2_state_1.txt");
            var state2      = LoadInput("input_2_state_2.txt");
            var state3      = LoadInput("input_2_state_3.txt");
            var state4      = LoadInput("input_2_state_4.txt");
            var state5      = LoadInput("input_2_state_5.txt");
            var state6      = LoadInput("input_2_state_6.txt");
            var waitingArea = new WaitingArea(state0);

            waitingArea.State.ShouldBe(state0);
            waitingArea.ApplySeatingPartTwo(); // Round 1
            waitingArea.State.ShouldBe(state1);
            waitingArea.ApplySeatingPartTwo(); // Round 2
            waitingArea.State.ShouldBe(state2);
            waitingArea.ApplySeatingPartTwo(); // Round 3
            waitingArea.State.ShouldBe(state3);
            waitingArea.ApplySeatingPartTwo(); // Round 4
            waitingArea.State.ShouldBe(state4);
            waitingArea.ApplySeatingPartTwo(); // Round 5
            waitingArea.State.ShouldBe(state5);
            waitingArea.ApplySeatingPartTwo(); // Round 6
            waitingArea.State.ShouldBe(state6);
            waitingArea.ApplySeatingPartTwo(); // Round 7 (should be no change)
            waitingArea.State.ShouldBe(state6);
            waitingArea.SeatsTaken.ShouldBe(26);
        }