コード例 #1
0
        private async Task <IEnumerable <User> > GetUsersLivingWithin50MilesOfLondon()
        {
            ILocation london = new Location {
                Latitude = 51.509865, Longitude = -0.118092
            };

            var allUsers    = DeserialiseUsers(await _bpdtsClient.GetAllUsers());
            var milesRadius = 50;

            return(allUsers.Where(a => _locationService.IsWithinMilesOfLocation(sourceLocation: a, miles: milesRadius, targetLocation: london)));
        }
コード例 #2
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);
            }