示例#1
0
        public void CanToggleByTwo()
        {
            var grid = new ShadingLightingGrid();

            grid.ProcessInstruction("toggle", 0, 0, 999, 999);
            var lightsCount = grid.HowManyLightsAreLit();

            Assert.That(lightsCount, Is.EqualTo(2000000));
        }
示例#2
0
        public void CanIncrease()
        {
            var grid = new ShadingLightingGrid();

            grid.ProcessInstruction("turn on", 0, 0, 0, 0);
            var lightsCount = grid.HowManyLightsAreLit();

            Assert.That(lightsCount, Is.EqualTo(1));

            grid.ProcessInstruction("turn on", 0, 0, 0, 0);
            lightsCount = grid.HowManyLightsAreLit();
            Assert.That(lightsCount, Is.EqualTo(2));
        }
示例#3
0
        public void DimmingCannotDropBelowZero()
        {
            var grid = new ShadingLightingGrid();

            grid.ProcessInstruction("toggle", 0, 0, 999, 999);
            var lightsCount = grid.HowManyLightsAreLit();

            Assert.That(lightsCount, Is.EqualTo(2000000));

            grid.ProcessInstruction("turn off", 0, 0, 0, 0);
            grid.ProcessInstruction("turn off", 0, 0, 0, 0);
            lightsCount = grid.HowManyLightsAreLit();
            Assert.That(lightsCount, Is.EqualTo(2000000 - 2));

            grid.ProcessInstruction("turn off", 0, 0, 0, 0);
            grid.ProcessInstruction("turn off", 0, 0, 0, 0);
            lightsCount = grid.HowManyLightsAreLit();
            Assert.That(lightsCount, Is.EqualTo(2000000 - 2));
        }