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);
        }
Ejemplo n.º 2
0
        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;
            }
        }