Exemplo n.º 1
0
 protected override void OnStart(string[] args)
 {
     try
     {
         var dailyQuoteStorage = new DailyQuoteStorage();
         var equityCurveCalculator = new EquityCurveCalculator();
         cache = new AccountEfficiencyCache(new EfficiencyCalculator(dailyQuoteStorage, equityCurveCalculator), dailyQuoteStorage);
         cache.Start();
         hostServerStat = new ServiceHost(cache);
         hostServerStat.Open();
     }
     catch (Exception ex)
     {
         Logger.Error("Ошибка в OnStart", ex);
     }
 }
        public void TestSetup()
        {
            // Инициализируем методы GetTickers, GetMetadataByCategory, GetAccountGroupsWithSessionInfo
            TradeSharpDictionary.Initialize(MoqTradeSharpDictionary.Mock);

            // Инициализируем словарь котировок
            dailyQuoteStorage = new DailyQuoteStorage();
            dailyQuoteStorage.InitializeFake(QuoteMaker.MakeQuotesForQuoteDailyStorage(null));

            // Готовим объекты, которые будем тестировать и на которых будем тестировать
            curveCalculator = new EquityCurveCalculator();
        }
        //[Test]
        public void CalculateEquityCurveVoid()
        {
            // ReSharper disable SuspiciousTypeConversion.Global
            ((IMockableProxy)fakeTradeAccount).IncludeMockMethod(getHistoryOrdersName, getHistoryOrdersFake);
            ((IMockableProxy)fakeTradeAccount).IncludeMockMethod(getMarketOrdersName, getMarketOrdersFake);
            ((IMockableProxy)fakeTradeAccount).IncludeMockMethod(getBalanceChangesName, getBalanceChangesFake);
            // ReSharper restore SuspiciousTypeConversion.Global
            var dailyQuoteStorage = new DailyQuoteStorage();
            var curveCalculator = new EquityCurveCalculator();
            try
            {
                var calc = new EfficiencyCalculator(dailyQuoteStorage, curveCalculator);
                calc.Calculate(new AccountEfficiency(new PerformerStat
                {
                    Account = 0,
                    DepoCurrency = "USD"
                }));
                Assert.Fail("NuEfficiencyCalculator.Calculate() - не выбросил ArgumentException");
            }
            catch (ArgumentException) // Это не трогать
            {
            }

            /*
                ((IMockableProxy) fakeTradeAccount).IncludeMockMethod(getHistoryOrdersName, getHistoryOrdersFake);
                ((IMockableProxy) fakeTradeAccount).IncludeMockMethod(getMarketOrdersName, getMarketOrdersFake);
                ((IMockableProxy) fakeTradeAccount).IncludeMockMethod(getBalanceChangesName, getBalanceChangesFake);
                var accEff1 = new AccountEfficiency(new PerformerStat
                    {
                        Account = accountId,
                        DepoCurrency = "USD"
                    });
                var calc = new EfficiencyCalculator(dailyQuoteStorage, equityCurveCalculator);
                calc.Calculate(accEff1);

                ((IMockableProxy) fakeTradeAccount).IncludeMockMethod(getBalanceChangesName, getBalanceChangesVoidFake);
                EfficiencyCalculator.Calculate(accEff1);

                ((IMockableProxy) fakeTradeAccount).IncludeMockMethod(getHistoryOrdersName, getHistoryOrdersEmptyFake);
                ((IMockableProxy) fakeTradeAccount).IncludeMockMethod(getMarketOrdersName, getMarketOrdersEmptyFake);
                EfficiencyCalculator.Calculate(accEff1);
             */
        }