public void FindCustomersByDistance_ReturnsExpectedResults() { string filePath = Path.Combine(Environment.CurrentDirectory, @"TestData\", "testData.txt"); ConfigurationManager.AppSettings["CustomerFile"] = filePath; int distanceInKilometers = 100; Location headquatersLocation = new Location(53.339428, -6.257664); ICustomerJsonParser parser = new CustomerJsonParser(); ICustomerProvider provider = new CustomerFileReader(parser); ICustomerService service = new CustomerService(provider); var result = service.FindCustomersByDistance(headquatersLocation, distanceInKilometers); Assert.NotNull(result); Assert.Equal(3, result.Count); for (int i = 1; i < result.Count; i++) { Assert.True(result[i - 1].Id < result[i].Id); } Assert.Equal(4, result[0].Id); Assert.Equal(5, result[1].Id); Assert.Equal(12, result[2].Id); }
public void ParseJsonCustomer_MalformedJson_ReturnsNullObject() { string json = "[\"user_id\": 12, \"name\": \"Christina 'BadLuck' McArdle\", \"longitude\": \"-6.043701\"}"; ICustomerJsonParser parser = new CustomerJsonParser(); Customer result = parser.ParseJsonLine(json); Assert.Null(result); }
public void ParseJsonCustomer_ExpectedJsonFormat_ReturnsExpectedModelObject() { string json = "{\"latitude\": \"52.986375\", \"user_id\": 12, \"name\": \"Christina McArdle\", \"longitude\": \"-6.043701\"}"; ICustomerJsonParser parser = new CustomerJsonParser(); Customer result = parser.ParseJsonLine(json); Assert.NotNull(result); Assert.Equal("Christina McArdle", result.Name); Assert.Equal(12, result.Id); Assert.Equal(52.986375, result.Location.Latitude); Assert.Equal(-6.043701, result.Location.Longitude); }