示例#1
0
        public void RecreateProgramSet_Works()
        {
            string  programSetName = "RainbowSet";
            string  programName    = "Rainbow";
            var     zoneName       = "FadeCandyZone";
            dynamic isv            = new ISV();

            isv.Speed = 50;

            var zlm    = new ZLM(false, false, false);
            var zlmrpc = new ZLMRPC(zlm);

            zlm.AddFadeCandyZone("FadeCandyZone", PixelType.FadeCandyWS2812Pixel, 8, 1);
            zlm.CreateProgramSet(programSetName, programName, zlm.Zones.Select(z => z.Name), true, isv);
            zlm.Zones.ForEach(zone =>
            {
                Assert.That(zone.ZoneProgram, Is.Not.Null);
                Assert.That(zone.ZoneProgram.State, Is.EqualTo(ProgramState.Started));
                Assert.That(zone.ZoneProgram.GetInput("Speed").Value, Is.EqualTo(50));
            });

            isv.Speed = 90;

            //act
            zlmrpc.RecreateProgramSet(programSetName, programName, zoneName.Listify(), isv);

            //assert
            zlm.Zones.ForEach(zone =>
            {
                Assert.That(zone.ZoneProgram.GetInput("Speed").Value, Is.EqualTo(90));
            });

            zlmrpc.Dispose();
        }