public void RemoveZone_ZoneNotInZonesCollectionAndZoneProgramOutOfSync() { //arrange TestHelpers.InitializeZoneScaffolder(); var zones = new BetterList <Zone>(); FadeCandyController.Instance.Initialize(); var leftWing = ZoneScaffolder.Instance.AddFadeCandyZone(zones, "LeftWing", PixelType.FadeCandyWS2812Pixel, 6, 1); var rightWing = ZoneScaffolder.Instance.AddFadeCandyZone(zones, "RightWing", PixelType.FadeCandyWS2811Pixel, 21, 2); var programSet = new ProgramSet("Stepper", zones.ToList(), false, null, "StepperSet"); //act programSet.RemoveZone(rightWing); //assert var listToValidate = new List <IStepper>(); listToValidate.AddRange(((ITestProgramSet)programSet).ZoneProgramsTest.Cast <IStepper>()); listToValidate.Add((IStepper)rightWing.ZoneProgram); TestHelpers.ValidateSteppersOutOfSync(listToValidate.ToList(), 100); //validate the the removed program is out of sync Assert.That(leftWing.ZoneProgram.State == ProgramState.Started, Is.True); Assert.That(programSet.Zones.Contains(rightWing), Is.False); //cleanup programSet.Dispose(); leftWing.Dispose(); rightWing.Dispose(); }
public void ProgramSetConstructor_NoSync_ZonesInit_ProgramsInit() { //arrange TestHelpers.InitializeZoneScaffolder(); var zones = new BetterList <Zone>(); FadeCandyController.Instance.Initialize(); var leftWing = ZoneScaffolder.Instance.AddFadeCandyZone(zones, "LeftWing", PixelType.FadeCandyWS2812Pixel, 6, 1); var rightWing = ZoneScaffolder.Instance.AddFadeCandyZone(zones, "RightWing", PixelType.FadeCandyWS2811Pixel, 21, 2); //act var programSet = new ProgramSet("Stepper", zones.ToList(), false, null, "StepperSet"); //assert TestHelpers.ValidateSteppersRunning(((ITestProgramSet)programSet).ZoneProgramsTest.Cast <IStepper>(), 100); Assert.That(leftWing.Running, Is.True); Assert.That(rightWing.Running, Is.True); Assert.That(leftWing.ZoneProgram.State == ProgramState.Started, Is.True); Assert.That(rightWing.ZoneProgram.State == ProgramState.Started, Is.True); //cleanup programSet.Dispose(); leftWing.Dispose(); rightWing.Dispose(); }