public void Map_WithLocationWith7Fields_Returns7AddressLines() { var model = new Location(_mockDataReader.Object, _mockLocationFormatter.Object); var sut = new LocationModelMapper(); var result = sut.Map(model); Assert.Equal(7, result.AddressLines.Count()); }
public void Map_WithLocationWithZeroHouseNumber_ExcludesHouseNumberInAddressLines() { _mockDataReader.Setup(r => r[LocationFields.PaoStartNumber]).Returns(0); var model = new Location(_mockDataReader.Object, _mockLocationFormatter.Object); var sut = new LocationModelMapper(); var result = sut.Map(model); Assert.False(result.AddressLines.Any(a => a.Contains("0"))); }
public void Map_WithDuplicateFields_DoesntRepeatLines() { _mockDataReader.Setup(r => r[LocationFields.BlpuOrganisation]).Returns("something"); _mockDataReader.Setup(r => r[LocationFields.BuildingName]).Returns("something"); var model = new Location(_mockDataReader.Object, _mockLocationFormatter.Object); var sut = new LocationModelMapper(); var result = sut.Map(model); Assert.Equal(6, result.AddressLines.Count()); }
protected LocationServiceTestsBase() { _mockIdEncoder = new Mock<ILocationIdEncoder>(); _mockIdEncoder.Setup(e => e.Decode(It.IsAny<string>())).Returns<string>(x => x); _mockIdEncoder.Setup(e => e.Encode(It.IsAny<string>())).Returns<string>(x => x); var mockMapper = new LocationModelMapper(); _mockLocationQueryFields = new Mock<ILocationQueryFields>(); _mockQueryValidator = new Mock<ILocationQueryValidator>(); _mockQueryValidator.Setup(v => v.IsValid(It.IsAny<string>())).Returns(true); _mockLocationRepository = new Mock<ILocationRepository>(); _mockLocationGroupRepository = new Mock<ILocationGroupRepository>(); _mockQuerySanitiser = new Mock<ILocationQuerySanitiser>(); _mockQuerySanitiser.Setup(s => s.Sanitise(It.IsAny<string>())).Returns<string>(q => q.ToLower()); _mockLocationGroupFormatter = new Mock<IConditionalFormatter<string, LocationDataField>>(); _mockLocationGroupFormatter.Setup( r => r.DetermineConditionsAndFormat(It.IsAny<string>(), It.IsAny<LocationDataField>())).Returns((string value, LocationDataField type) => value); _mockLocationFormatter = new Mock<IConditionalFormatter<string, string>>(); _mockLocationFormatter.Setup( r => r.DetermineConditionsAndFormat(It.IsAny<string>(), It.IsAny<string>())).Returns((string value, string type) => value); _sutSearch = new LocationSearchService(_mockLocationGroupRepository.Object, _mockQueryValidator.Object, _mockQuerySanitiser.Object, _mockLocationQueryFields.Object, _mockIdEncoder.Object); _sutPostcode = new LocationSearchPostcodeService(_mockLocationRepository.Object, _mockQueryValidator.Object, _mockQuerySanitiser.Object, mockMapper); _sutGet = new LocationRetrievalService(_mockLocationRepository.Object, _mockIdEncoder.Object, mockMapper); _mockDataReader = new Mock<IDataRecord>(); _mockDataReader.Setup(r => r[It.IsAny<string>()]).Returns(""); _mockDataReader.Setup(r => r["UPRN"]).Returns("1"); _mockDataReader.Setup(r => r[It.Is<string>(x => x == "X_COORDINATE")]).Returns("1.0"); _mockDataReader.Setup(r => r[It.Is<string>(y => y == "Y_COORDINATE")]).Returns("2.0"); _builder = new LocationGroupBuilder(_mockLocationGroupFormatter.Object); _locationQueryFields = new SqlIteLocationQueryFields(); }
public void Map_WithLocation_MapsAllFields() { var model = new Location(_mockDataReader.Object, _mockLocationFormatter.Object); var sut = new LocationModelMapper(); var result = sut.Map(model); //mapping Assert.Equal(model.OrganisationName, result.OrganisationName); Assert.Equal(model.BuildingName, result.BuildingName); Assert.Equal(model.StreetDescription, result.StreetDescription); Assert.Equal(model.HouseNumber, result.HouseNumber); Assert.Equal(model.Locality, result.Locality); Assert.Equal(model.TownName, result.TownName); Assert.Equal(model.AdministrativeArea, result.AdministrativeArea); Assert.Equal(model.PostalTown, result.PostTown); Assert.Equal(model.PostCode, result.Postcode); Assert.Equal(model.PostcodeLocator, result.PostcodeLocator); Assert.NotNull(result.Coordinate); Assert.Equal(1.0f, result.Coordinate.X); Assert.Equal(2.0f, result.Coordinate.Y); var dtoSettableProperties = typeof (Location).GetProperties().Where(p => p.GetSetMethod() != null); var modelSettableProperties = typeof (LocationModel).GetProperties() .Where(p => p.GetSetMethod() != null); //modelSettableProperties.Where(p => p.) //missing fields on model foreach (var prop in modelSettableProperties) { Console.Write("Testing LocationModel." + prop.Name + " has been mapped..."); Assert.NotNull(prop.GetValue(result)); Console.WriteLine("pass"); } //missing fields from DTO }