コード例 #1
0
        public void Test1()
        {
            _controller = new ExplorationController();
            var input = new InputModel
            {
                SizeX = 5,
                SizeY = 5,
            };
            RoverCommandsModel command1 = new RoverCommandsModel
            {
                DeployLocation = new DeploymentModel {
                    X = 1, Y = 2, Orientation = Orientations.N
                },
                Command = "LMLMLMLMM"
            };
            RoverCommandsModel command2 = new RoverCommandsModel
            {
                DeployLocation = new DeploymentModel {
                    X = 3, Y = 3, Orientation = Orientations.E
                },
                Command = "MMRMMRMRRM"
            };

            input.CommandSets = new List <RoverCommandsModel>();
            input.CommandSets.Add(command1);
            input.CommandSets.Add(command2);
            var output = _controller.ExploreMars(input);

            Assert.IsType <OkObjectResult>(output.Result);

            var okObjectResult = output.Result as OkObjectResult;

            Assert.NotNull(okObjectResult);

            var outputModel = okObjectResult.Value as OutputModel;

            Assert.NotNull(outputModel);

            var expectedResult = new OutputModel();

            expectedResult.statutes = new List <RoverStatus>();
            var status1 = new RoverStatus {
                X = 1, Y = 3, orientation = Orientations.N
            };
            var status2 = new RoverStatus {
                X = 5, Y = 1, orientation = Orientations.E
            };

            expectedResult.statutes.Add(status1);
            expectedResult.statutes.Add(status2);
            Assert.Equal(2, outputModel.statutes.Count);
            expectedResult.Should().BeEquivalentTo(outputModel);
        }
コード例 #2
0
        public void ReadSubmitResult_WithOutput_ShouldMapOutput()
        {
            int          value = 456;
            RfcErrorInfo errorInfo;

            _interopMock.Setup(x => x.GetInt(FunctionHandle, "VALUE", out value, out errorInfo));
            IRfcTransactionFunction function = new RfcTransactionFunction(_interopMock.Object, RfcTransactionHandle, FunctionHandle);

            OutputModel result = function.ReadSubmitResult <OutputModel>();

            result.Should().NotBeNull();
            result.Value.Should().Be(value);
            _interopMock.Verify(x => x.GetInt(FunctionHandle, "VALUE", out value, out errorInfo), Times.Once);
        }
コード例 #3
0
        public async Task Invoke_NoInput_WithOutput_ShouldMapOutputAsync()
        {
            int          value = 456;
            RfcErrorInfo errorInfo;

            _interopMock.Setup(x => x.GetInt(FunctionHandle, "VALUE", out value, out errorInfo));
            IRfcFunction function = new RfcFunction(_interopMock.Object, RfcConnectionHandle, FunctionHandle);

            OutputModel result = await function.InvokeAsync <OutputModel>();

            result.Should().NotBeNull();
            result.Value.Should().Be(value);
            _interopMock.Verify(x => x.GetInt(FunctionHandle, "VALUE", out value, out errorInfo), Times.Once);
            _interopMock.Verify(x => x.Invoke(RfcConnectionHandle, FunctionHandle, out errorInfo), Times.Once);
        }
コード例 #4
0
        public void Invoke_NoInput_WithOutput_ShouldMapOutput()
        {
            int          value = 456;
            RfcErrorInfo errorInfo;

            _interopMock.Setup(x => x.GetFunctionDesc(It.IsAny <IntPtr>(), It.IsAny <string>(), out errorInfo)).Returns(FunctionDescriptionHandle);
            _interopMock.Setup(x => x.CreateFunction(It.IsAny <IntPtr>(), out errorInfo)).Returns(FunctionHandle);
            _interopMock.Setup(x => x.GetInt(FunctionHandle, "VALUE", out value, out errorInfo));
            var          rfcFunction = new RfcFunction(_interopMock.Object);
            IRfcFunction function    = rfcFunction.CreateFunction(ConnectionMock.Object, "FunctonA");

            OutputModel result = function.Invoke <OutputModel>();

            result.Should().NotBeNull();
            result.Value.Should().Be(value);
            _interopMock.Verify(x => x.GetInt(FunctionHandle, "VALUE", out value, out errorInfo), Times.Once);
            _interopMock.Verify(x => x.Invoke(RfcConnectionHandle, FunctionHandle, out errorInfo), Times.Once);
        }
コード例 #5
0
        public void Invoke_NoInput_WithOutput_ShouldMapOutput()
        {
            // Arrange
            int          value = 456;
            RfcErrorInfo errorInfo;

            _interopMock.Setup(x => x.CreateFunction(FunctionDescriptionHandle, out errorInfo)).Returns(FunctionHandle);
            _interopMock.Setup(x => x.GetInt(FunctionHandle, "VALUE", out value, out errorInfo));
            ISapFunction function = SapFunction.CreateFromDescriptionHandle(_interopMock.Object, RfcConnectionHandle, FunctionDescriptionHandle);

            // Act
            OutputModel result = function.Invoke <OutputModel>();

            // Assert
            result.Should().NotBeNull();
            result.Value.Should().Be(value);
            _interopMock.Verify(x => x.GetInt(FunctionHandle, "VALUE", out value, out errorInfo), Times.Once);
            _interopMock.Verify(x => x.Invoke(RfcConnectionHandle, FunctionHandle, out errorInfo), Times.Once);
        }