コード例 #1
0
        public async Task MoveAsync_SendValidRequest()
        {
            //Arrange
            string       commandName            = "move";
            string       positionParameterName  = "Position";
            double       positionParameterValue = 2;
            IRestRequest sentRequest            = null;
            var          commandSenderMock      = new Mock <ICommandSender>();

            commandSenderMock
            .Setup(x => x.ExecuteRequestAsync <CommandResponse>(It.IsAny <string>(), It.IsAny <RestRequest>()))
            .Callback((string baseUrl, IRestRequest request) => sentRequest = request)
            .Returns(Task.FromResult(new CommandResponse()));
            var rotator = new Rotator(_deviceConfiguration, commandSenderMock.Object);

            //Act
            await rotator.MoveAsync(positionParameterValue);

            //Assert
            Assert.Equal(Method.PUT, sentRequest.Method);
            AssertCommonParameters(sentRequest.Parameters, _deviceConfiguration, commandName);
            AssertParameter(sentRequest.Parameters, positionParameterName, positionParameterValue);
        }