Ejemplo n.º 1
0
        public async Task CompactionCellDatumExecutor_TRex_NoCoords()
        {
            var expectedResult = new CompactionCellDatumResult(DisplayMode.Height, CellDatumReturnCode.ValueFound, 5.23,
                                                               DateTime.UtcNow.AddHours(-4.5), 12345, 9876);

            var tRexProxy = new Mock <ITRexCompactionDataProxy>();

            tRexProxy.Setup(x => x.SendDataPostRequest <CompactionCellDatumResult, CellDatumTRexRequest>(
                                It.IsAny <CellDatumTRexRequest>(),
                                It.IsAny <string>(),
                                It.IsAny <IDictionary <string, string> >(), false))
            .ReturnsAsync(expectedResult);

            var configStore = new Mock <IConfigurationStore>();

            configStore.Setup(x => x.GetValueBool("ENABLE_TREX_GATEWAY_CELL_DATUM")).Returns(true);

            var executor = RequestExecutorContainerFactory
                           .Build <CompactionCellDatumExecutor>(logger, configStore: configStore.Object, trexCompactionDataProxy: tRexProxy.Object);

            var request =
                new CellDatumRequest(0, Guid.NewGuid(), expectedResult.displayMode, null, new Point(expectedResult.northing, expectedResult.easting), null, null, null);

            var ex = await Assert.ThrowsExceptionAsync <ServiceException>(async() => await executor.ProcessAsync(request));

            Assert.AreEqual(HttpStatusCode.BadRequest, ex.Code);
            Assert.AreEqual("No WGS84 coordinates provided", ex.GetResult.Message);
        }
Ejemplo n.º 2
0
        public async Task CompactionCellDatumExecutor_TRex_Success()
        {
            var expectedResult = new CompactionCellDatumResult(DisplayMode.Height, CellDatumReturnCode.ValueFound, 5.23,
                                                               DateTime.UtcNow.AddHours(-4.5), 12345, 9876);

            var tRexProxy = new Mock <ITRexCompactionDataProxy>();

            tRexProxy.Setup(x => x.SendDataPostRequest <CompactionCellDatumResult, CellDatumTRexRequest>(
                                It.IsAny <CellDatumTRexRequest>(),
                                It.IsAny <string>(),
                                It.IsAny <IDictionary <string, string> >(), false))
            .ReturnsAsync(expectedResult);

            var configStore = new Mock <IConfigurationStore>();

            configStore.Setup(x => x.GetValueBool("ENABLE_TREX_GATEWAY_CELL_DATUM")).Returns(true);

            var executor = RequestExecutorContainerFactory
                           .Build <CompactionCellDatumExecutor>(logger, configStore: configStore.Object, trexCompactionDataProxy: tRexProxy.Object);

            var request =
                new CellDatumRequest(0, Guid.NewGuid(), expectedResult.displayMode, new WGSPoint(123.456, 678.987), null, null, null, null);

            var result = await executor.ProcessAsync(request) as CompactionCellDatumResult;

            Assert.AreEqual(expectedResult.displayMode, result.displayMode, "Wrong displayMode");
            Assert.AreEqual(expectedResult.returnCode, result.returnCode, "Wrong returnCode");
            Assert.AreEqual(expectedResult.value, result.value, "Wrong value");
            Assert.AreEqual(expectedResult.timestamp, result.timestamp, "Wrong timestamp");
            Assert.AreEqual(expectedResult.northing, result.northing, "Wrong northing");
            Assert.AreEqual(expectedResult.easting, result.easting, "Wrong easting");
        }