public void Setup() { // Mock для словаря метаданных TradeSharpDictionary.Initialize(MoqTradeSharpDictionary.Mock); MakeGaps(); // подготовить список котировок для "клиента" и "сервера" var allCandles = new List <CandleData>(); var clientCandles = new List <CandleData>(); var index = 0; for (var time = timeHistStart; time <= timeNow; time = time.AddMinutes(1)) { // проверить попадание в дырку на сервере if (serverGaps.Any(g => g.IsIn(time))) { continue; } if (DaysOff.Instance.IsDayOff(time)) { continue; } var o = (float)Math.Sin((index++) / 15.0); var candle = new CandleData(o, o + 0.001f, o - 0.003f, o - 0.001f, time, time.AddMinutes(1)); allCandles.Add(candle); if (time > timeFileEnd) { continue; } // проверить попадание в дырку на клиенте if (clientGaps.Any(g => g.IsIn(time))) { continue; } clientCandles.Add(candle); } // поместить его в "локальное хранилище" AtomCandleStorage.Instance.RewriteCandles(Ticker, clientCandles); // инициализировать хранилище котировок moq = MoqQuoteStorage.MakeMoq(new Dictionary <string, List <CandleData> > { { Ticker, allCandles } }); QuoteStorage.Initialize(moq.Object); }
public void InitContext() { // очистить каталог котировок quoteFolder = AppDomain.CurrentDomain.BaseDirectory + "\\quotes"; try { if (Directory.Exists(quoteFolder)) { foreach (var fileName in Directory.GetFiles(quoteFolder, "*.quote")) { File.Delete(fileName); } } } catch (Exception ex) { Assert.Fail("NuDailyQuoteStorage - невозможно очистить каталог котировок: {0}", ex.Message); } // подготовить словарь валют DalSpot.Instantiate(MoqTradeSharpDictionary.Mock); // подготовить тестовые котировки var endTime = DateTime.Now; var startTime = endTime.AddDays(-30).AddHours(-2); // подготовить список "серверных" гэпов var daysOff = QuoteMaker.MakeGapsOnDaysOff(startTime, endTime); // подготовить свечи m1 var tickerCandles = new Dictionary <string, List <CandleData> >(); foreach (var ticker in DalSpot.Instance.GetTickerNames()) { var candles = QuoteMaker.MakeQuotes(startTime, endTime, daysOff); tickerCandles.Add(ticker, candles); } mockQuoteStorage = MoqQuoteStorage.MakeMoq(tickerCandles); QuoteStorage.Initialize(mockQuoteStorage.Object); }