コード例 #1
0
            public async Task ShouldReturnLondonUserOnly_WhenLocationServiceReturnsNoUsers()
            {
                var testUsersInLondon = "[{ \"longitude\": 24.12, \"latitude\": 12.1111 }]";
                var testAllUsers      = "[{ \"longitude\": 24.12, \"latitude\": 12.1111 }, { \"longitude\": -0.118092, \"latitude\": 51.509865 }]";

                bpdtsClient.GetUsersInCity("London").Returns(Task.FromResult(testUsersInLondon));
                bpdtsClient.GetAllUsers().Returns(Task.FromResult(testAllUsers));

                // Act
                var result = await userLocationController.Get();

                // Assert
                Assert.IsInstanceOf <OkObjectResult>(result.Result);
                var okObjectResult = result.Result as OkObjectResult;
                var users          = okObjectResult.Value as List <User>;

                Assert.AreEqual(1, users.Count);
                var user = users.First();

                Assert.AreEqual(12.1111, user.Latitude);
                Assert.AreEqual(24.12, user.Longitude);
            }
コード例 #2
0
        public async Task <ActionResult <List <User> > > Get()
        {
            try
            {
                var usersLivingInLondon = this.DeserialiseUsers(await _bpdtsClient.GetUsersInCity("London"));

                var usersLivingWithin50MilesOfLondon = await this.GetUsersLivingWithin50MilesOfLondon();

                return(Ok(usersLivingInLondon.Union(usersLivingWithin50MilesOfLondon, new UserDistinctComparer()).ToList()));
            }
            catch (Exception exception)
            {
                _logger.LogError(exception.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError, exception.Message));
            }
        }