public void ForceStop_Works() { //arrange var zoneScaffolder = new ZoneScaffolder(); zoneScaffolder.Initialize(ConfigurationManager.AppSettings["TestProgramModuleDirectory"]); var leftWing = new FadeCandyZone(FadeCandyController.Instance, "LeftWing"); leftWing.AddFadeCandyLights(PixelType.FadeCandyWS2812Pixel, 6, 1); dynamic scrollDotDictionary = new ISV(); scrollDotDictionary.DelayTime = 30; scrollDotDictionary.DotColor = (Color?)Color.Red; FadeCandyController.Instance.Initialize(); //needs to be faked somehow leftWing.Run(new ScrollDot(), scrollDotDictionary); //act leftWing.ZoneProgram.Stop(true); //assert var result = leftWing.ZoneProgram.StopTestingTrigger.WaitForFire(1000); //cleanup leftWing.Dispose(); FadeCandyController.Instance.Dispose(); Assert.True(result); }
public void Run_Works() { var zone = new FadeCandyZone(FadeCandyController.Instance, "TestZone"); var program = new Rainbow(); zone.AddFadeCandyLights(PixelType.FadeCandyWS2812Pixel, 6, 1); Assert.DoesNotThrow(() => zone.Run(program)); Assert.True(zone.Running); Assert.True(program.State == ProgramState.Started); }
public void Stop_Works() { var lightingController = A.Fake <LightingController>(); lightingController.CallsTo(controller => controller.SendLEDs(A.Fake <List <ILightingControllerPixel> >())).DoesNothing(); var zone = new FadeCandyZone(FadeCandyController.Instance, "TestZone"); var program = new Rainbow(); zone.AddFadeCandyLights(PixelType.FadeCandyWS2812Pixel, 6, 1); zone.Run(program); Assert.DoesNotThrow(() => zone.Stop(true)); Assert.False(zone.Running); Assert.True(program.State == ProgramState.Stopped); }
public static void CooperativeStop_Works() { DebugTools.AddEvent("Test.CooperativeStop_Works", "START CooperativeStop_Works Test"); //arrange var zoneScaffolder = new ZoneScaffolder(); zoneScaffolder.Initialize(ConfigurationManager.AppSettings["TestProgramModuleDirectory"]); var leftWing = new FadeCandyZone(FadeCandyController.Instance, "LeftWing"); leftWing.AddFadeCandyLights(PixelType.FadeCandyWS2812Pixel, 6, 1); dynamic scrollDotDictionary = new ISV(); scrollDotDictionary.DelayTime = 30; scrollDotDictionary.DotColor = (Color?)Color.Red; FadeCandyController.Instance.Initialize(); //needs to be faked somehow leftWing.Run(new ScrollDot(), scrollDotDictionary); //this is to fix the race condition that sometimes causes this test to fail - since this test //is not designed to test race conditions, just whether cooperative stop works in normal conditions Thread.Sleep(100); //act -- cooperative stop leftWing.ZoneProgram.Stop(false); //assert var result = leftWing.ZoneProgram.StopTestingTrigger.WaitForFire(1000); //cleanup leftWing.Dispose(); FadeCandyController.Instance.Dispose(); DebugTools.AddEvent("Test.CooperativeStop_Works", "END CooperativeStop_Works Test"); Assert.True(result); }