Exemple #1
0
        public Request CreateSetColorRequest(
            Color color,
            Percentage brightness,
            Temperature temperature,
            uint durationInMilliseconds
            )
        {
            var payload = new SetColorRequestPayload(color, brightness, temperature, durationInMilliseconds);

            return(CreateRequest(
                       Command.LightSetColor,
                       ackRequired: true,
                       resRequired: false,
                       payload: payload
                       ));
        }
        public void RequestCreation_SetColor_Test()
        {
            SmartHomeRequest requestFromString = JsonConvert.DeserializeObject <SmartHomeRequest>(SET_COLOR_REQUEST);

            //Directive Check
            Assert.NotNull(requestFromString.Directive);
            //Header Check
            TestFunctionsV3.TestHeaderV3(requestFromString.Directive.Header, "1bd5d003-31b9-476f-ad03-71d471922820", Namespaces.ALEXA_COLORCONTROLLER, HeaderNames.SET_COLOR);
            Assert.Equal("dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==", requestFromString.Directive.Header.CorrelationToken);
            //Endpoint Check
            TestFunctionsV3.TestEndpointV3(requestFromString.Directive.Endpoint, "endpoint-001");
            TestFunctionsV3.TestBearerTokenV3(requestFromString.Directive.Endpoint.Scope, "access-token-from-skill");
            //Payload Check
            Assert.Equal(typeof(SetColorRequestPayload), requestFromString.GetPayloadType());
            SetColorRequestPayload payload = (requestFromString.Directive.Payload as SetColorRequestPayload);

            Assert.NotNull(payload.Color);
            Assert.Equal(350.5, payload.Color.Hue);
            Assert.Equal(0.7138, payload.Color.Saturation);
            Assert.Equal(0.6524, payload.Color.Brightness);
        }