public void Init() { _htmlWrapper = MockRepository.GenerateMock<IHtmlWebWrapper>(); _log = MockRepository.GenerateMock<ILog>(); _extractionArgs = MockRepository.GenerateMock<IExtractionArguments>(); _extractionResults = MockRepository.GenerateMock<IExtractionResults>(); _pageScraper = MockRepository.GenerateMock<IAutoTraderZaPageScraper>(); _pageScraper.Stub(p => p.Scrape(Arg<IExtractionArguments>.Is.Anything, Arg<HtmlDocument>.Is.Anything)).Return(new List<IVehicle>()); _extractionResults.Stub(p => p.Vehicles).Return(new List<IVehicle>()); _dummyUri = new Uri("http://dummyUrl.com"); _dummyFirstDocument = new HtmlDocument(); _extractorEngine = new AutoTraderExtractionEngine(_htmlWrapper, _log, _pageScraper); }
private static void ExtractDataSequence() { bool more = true; while (more) { Console.WriteLine("ENTER MAKE"); var make = Console.ReadLine(); Console.WriteLine("ENTER MODEL"); var model = Console.ReadLine(); var from = 2001; var to = 2014; var mm = _sqlExtractRepository.ReadVehicleMakeModel(_sourceSystem).FirstOrDefault(p => p.Make == make && p.Models.Contains(model)); if (mm == null) { Console.WriteLine("Make and Model does not exist"); continue; } IExtractionArguments args = ExtractionArguments.Create(make, model, from, to); IExtractionResults results = _sqlExtractRepository.Read(args, _sourceSystem); if (results == null) { results = new ExtractionResults(); IExtractionEngine engine; if (_sourceSystem == GooNetConst) engine = new GooExtractionEngine(_japaneseHtmlWebWrapper, _log, _gooNetPageScraper); else { engine = new AutoTraderExtractionEngine(_htmlWebWrapper, _log, _autoTraderScraper); } engine.Extract(args, results); _sqlExtractRepository.Write(args, results, _sourceSystem); } StatisticsPrinter.Print(StatisticsFactory.GetStatistics(results.Vehicles)); StatisticsPrinter.SaveToCsv(StatisticsFactory.GetStatistics(results.Vehicles),_sourceSystem, "C:\\temp\\VehicleStatsApp"); Console.WriteLine("MORE? Y\\N"); if (Console.ReadLine().ToUpper() == "N") more = false; } }