예제 #1
0
        public void TestCountSeats()
        {
            var seats = SeatSimulator.CountSeats(this.testData);

            Assert.AreEqual(0, seats.occupied);
            Assert.AreEqual(71, seats.free);
        }
예제 #2
0
        public void Setup()
        {
            var seatSim = new SeatSimulator();

            this.testData  = seatSim.GetInputDataMap(FilePathTestData);
            this.inputData = seatSim.GetInputDataMap(FilePathInputData);
        }
예제 #3
0
        public void TestSimulate(int simulationSteps, int expectedOccupied)
        {
            var seats        = SeatSimulator.Simulate(this.testData, simulationSteps);
            int expectedFree = 71 - expectedOccupied;

            Assert.AreEqual(expectedOccupied, seats.occupied);
            Assert.AreEqual(expectedFree, seats.free);
        }
예제 #4
0
        public void TestSimulateToSteadyState()
        {
            int expectedOccupied = 37;
            var seats            = SeatSimulator.Simulate(this.testData);
            int expectedFree     = 71 - expectedOccupied;

            Assert.AreEqual(expectedOccupied, seats.occupied);
            Assert.AreEqual(expectedFree, seats.free);
        }
예제 #5
0
        public void TestAdjacentSeats()
        {
            var seats         = SeatSimulator.AdjacentSeats(this.testData, 0, 0);
            var expectedSeats = new List <char> {
                'L', '.', 'L', 'L'
            };

            Assert.AreEqual(4, seats.Count);
            Assert.AreEqual(expectedSeats, seats);
        }
예제 #6
0
        public void FindAnswerDayElevenPuzzleOne()
        {
            var seats = SeatSimulator.Simulate(this.inputData);

            Assert.AreEqual(2334, seats.occupied);
        }