public LocationSearchService(ILocationGroupRepository groupRepository, ILocationQueryValidator queryValidator, ILocationQuerySanitiser searchSanitiser, ILocationQueryFields locationQueryFields, ILocationIdEncoder encoder)
     : base(queryValidator)
 {
     _searchSanitiser = searchSanitiser;
     _locationQueryFields = locationQueryFields;
     _encoder = encoder;
     _groupRepository = groupRepository;
 }
 public LocationController(ILocationQueryValidator queryValidator, ILocationRetrievalService retrievalService, ILocationSearchService searchService, ILocationSearchPostcodeService searchPostcodeService, ILocationQueryFields locationQueryFields)
 {
     _queryValidator = queryValidator;
     _retrievalService = retrievalService;
     _searchService = searchService;
     _searchPostcodeService = searchPostcodeService;
     _locationQueryFields = locationQueryFields;
 }
        public FtsQueryGeneratorTests()
        {
            _mockTokenizer = new Mock<IfTSQueryTokenizer>();
            _locationQueryFields = new SqlIteLocationQueryFields();

            _mockGroupingStrategy = new Mock<ILocationGroupingStrategy>();
            _mockGroupingStrategy.Setup(g => g.Fields)
                .Returns(new List<LocationQueryField>() { _locationQueryFields.Town, _locationQueryFields.PostCode });
        }
        public LocationGroupBuilderTests()
        {
            _mockLocationFormatter = new Mock<IConditionalFormatter<string, LocationDataField>>();
            _mockLocationFormatter.Setup(
                r => r.DetermineConditionsAndFormat(It.IsAny<string>(), It.IsAny<LocationDataField>()))
                .Returns((string value,LocationDataField type) => value);

            _builder = new LocationGroupBuilder(_mockLocationFormatter.Object);
            _locationQueryFields = new SqlIteLocationQueryFields();
            _queryFields = new List<LocationQueryField> { _locationQueryFields.HouseNumber, _locationQueryFields.Street, _locationQueryFields.Town };

            _mockDataRecord = new Mock<IDataRecord>();
            _mockDataRecord.Setup(r => r[It.IsAny<string>()]).Returns("");
            _mockDataRecord.Setup(r => r[It.Is<string>(x => x == "PAO_START_NUMBER")]).Returns("22");
            _mockDataRecord.Setup(r => r[It.Is<string>(b => b == "PAO_START_SUFFIX")]).Returns("");
            _mockDataRecord.Setup(r => r[It.Is<string>(y => y == "STREET_DESCRIPTION")]).Returns("Test Road");
            _mockDataRecord.Setup(r => r[It.Is<string>(z => z == "TOWN_NAME")]).Returns("TestTown");
            _mockDataRecord.Setup(r => r[It.Is<string>(z => z == "POSTCODE")]).Returns("TS17 TTT");
            _mockDataRecord.Setup(r => r[It.Is<string>(z => z == "Number")]).Returns(32);
        }
        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 LocationsGroupedByAddressStrategy(ILocationQueryFields locationQueryFields)
        {
            Fields = new List<LocationQueryField> {
                locationQueryFields.Street,
                locationQueryFields.Town,
                locationQueryFields.PostCode,
                locationQueryFields.PostCodeLocator

            };
        }
 public LocationGroupingStrategyBuilderTests()
 {
     _locationQueryFields = new SqlIteLocationQueryFields();
 }
 public LocationGroupRepository(IGroupIndexSearcher searcher, ILocationGroupBuilder locationGroupBuilder, ILocationQueryFields locationQueryFields)
 {
     _searcher = searcher;
     _locationGroupBuilder = locationGroupBuilder;
     _queryFields = locationQueryFields;
 }