public void InitTest() { // забить котировки QuoteMaker.FillQuoteStorageWithDefaultValues(); // словари TradeSharpDictionary.Initialize(MoqTradeSharpDictionary.Mock); DalSpot.Instantiate(TradeSharpDictionary.Instance.proxy); tradeManager = new TradeManager( null, null, QuoteStorage.Instance, accountId => { // ReSharper disable ConvertToLambdaExpression return(LinqToEntity.DecorateAccountGroup(conn.ACCOUNT.First(a => a.ID == accountId).ACCOUNT_GROUP)); // ReSharper restore ConvertToLambdaExpression }); ManagerTrade.MakeTestInstance(); // временно удалить файл начального наполнения (открытые ордера) TradeSharpConnectionPersistent.RestoreCsvFilesInMoqDbFolder(); TradeSharpConnectionPersistent.RenameCsvFilesContainingAccountDataInMoqDbFolder(); conn = TradeSharpConnectionPersistent.InitializeTradeSharpConnection(); MakeTestContents(); }
protected override void OnStart(string[] args) { // подгрузить метаданные DalSpot.Instantiate(DictionaryManager.Instance); // инициализация торговой библиотеки StartTradeLib(); // запустить сервера WCF StartWcfHosts(); // подгрузить срез котировок QuoteStorage.Instance.LoadQuotes(string.Format("{0}\\lastquote.txt", ExecutablePath.ExecPath)); // старт монитора ордеров AccountCheckStream.Instance.Start(); // старт сохранения событий по счетам UserEventStorage.Instance.Start(); try { hostModuleController = new ServiceHost(ModuleStatusController.Instance); hostModuleController.Open(); } catch (Exception ex) { Logger.Error("Ошибка в ModuleController", ex); } // старт получения живой котиры try { quoteReceiver = new TcpQuoteReceiver(); quoteReceiver.OnQuotesReceived += OnQuotesReceived; } catch (Exception ex) { Logger.Error("Ошибка старта получения живой котировки", ex); } StartWebServer(); // стартовать прослушку очереди сообщений от провайдеров try { ProviderQueueReader.Instance.Start(); } catch (Exception ex) { Logger.Error("Ошибка старта прослушки очереди сообщений от провайдера", ex); throw; } try { UserEventManager.Instance.Start(); } catch (Exception ex) { Logger.Error("Ошибка запуска UserEventManager", ex); } Logger.Info("Сервис запущен"); }
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); }
public void TearDownMethods() { DalSpot.Instantiate(null); }
public void SetupMethods() { adoHalper = new DatabaseQuoteEnquirer(); DalSpot.Instantiate(MoqTradeSharpDictionary.Mock); }