public void GetUsersInArea_AreaCoordinatesSupplied_ReturnsOkObjectResult()
        {
            // Arrange
            var areaCoordinates = new AreaCoordinates();
            var request         = new GetUsersInAreaRequest
            {
                UserId          = 123,
                AreaCoordinates = areaCoordinates,
                AreaName        = "Area"
            };

            var expectedResult = new List <UserLocation>();

            this._mockLocationDataAccess.Setup(lda => lda.GetCurrentLocationForAllUsersByAreaCoordinates(It.IsAny <AreaCoordinates>())).Returns(expectedResult);

            // Act
            var actual = this._target.GetUsersInArea(request);

            // Assert
            var result = actual.ShouldBeOfType <OkObjectResult>();

            result.Value.ShouldBe(expectedResult);

            this._mockLocationDataAccess.Verify(lda => lda.GetCurrentLocationForAllUsersByAreaCoordinates(areaCoordinates), Times.Once);
        }
        public List <UserLocation> GetCurrentLocationForAllUsersByAreaCoordinates(AreaCoordinates area)
        {
            EnsureArg.IsNotNull(area, nameof(area));
            EnsureArg.IsGt(area.LongitudeMin, -180, nameof(area.LongitudeMin));
            EnsureArg.IsLt(area.LongitudeMin, 180, nameof(area.LongitudeMin));
            EnsureArg.IsGt(area.LongitudeMax, -180, nameof(area.LongitudeMax));
            EnsureArg.IsLt(area.LongitudeMax, 180, nameof(area.LongitudeMax));
            EnsureArg.IsGt(area.LatitudeMin, -180, nameof(area.LatitudeMin));
            EnsureArg.IsLt(area.LatitudeMin, 180, nameof(area.LatitudeMin));
            EnsureArg.IsGt(area.LatitudeMax, -180, nameof(area.LatitudeMax));
            EnsureArg.IsLt(area.LatitudeMax, 180, nameof(area.LatitudeMax));

            return(CurrentLocationOfUsersInArea);
        }
 public List <UserLocation> GetCurrentLocationForAllUsersByAreaCoordinates(AreaCoordinates area)
 {
     throw new NotImplementedException();
 }