public void SetLightDirectiveSerializesProperly()
        {
            var setLight = new SetLightDirective
            {
                TargetGadgets = new List <string> {
                    "gadgetId1", "gadgetId2"
                },
                Parameters = new SetLightParameter
                {
                    TriggerEvent = TriggerEvent.None,
                    TriggerEventTimeMilliseconds = 0,
                    Animations = new List <SetLightAnimation> {
                        new SetLightAnimation {
                            Repeat       = 1,
                            TargetLights = new List <string> {
                                "1"
                            },
                            Sequence = new List <AnimationSegment>
                            {
                                new AnimationSegment
                                {
                                    Blend = false,
                                    DurationMilliseconds = 10000,
                                    Color = "0000FF"
                                }
                            }
                        }
                    }
                }
            };

            Assert.True(Utility.CompareJson(setLight, "SetLightDirective.json"));
        }
        public void SetLightDirectiveCreationWithNoGadgetsSerializesProperly()
        {
            var setLight = SetLightDirective.Create(
                SetLightParameter.Create(
                    SetLightAnimation.CreateSingle(
                        AnimationSegment.Create("0000FF", 10000)
                        )));

            Assert.True(Utility.CompareJson(setLight, "SetLightDirectiveBroadcast.json"));
        }
        public void SetLightDirectiveViaCreationSerializesProperly()
        {
            var setLight = SetLightDirective.Create(
                new[] { "gadgetId1", "gadgetId2" },
                SetLightParameter.Create(
                    TriggerEvent.None, 0,
                    SetLightAnimation.Create(1, new[] { "1" },
                                             new AnimationSegment
            {
                Blend = false,
                DurationMilliseconds = 10000,
                Color = "0000FF"
            }
                                             )));

            Assert.True(Utility.CompareJson(setLight, "SetLightDirective.json"));
        }