public void StrategyModeIsBacktestForMultipleLogFilesAndNotUsingConfigfile_WorksCorrectly()
        {
            var logConfig             = GetTestLogConfigurationForMultipleLogFiles();
            var identifierPlaceHolder = "{strategyId}";
            var strategyId1           = 123;
            var strategyId2           = 456;
            var identifierValues      = new List <string>()
            {
                strategyId1.ToString(), strategyId2.ToString()
            };
            var searchStringTemplate = ":" + identifierPlaceHolder + ",";

            var loggerFactory = new LoggerFactory(StrategyMode.Backtest, logConfig, RollingInterval.Month, identifierPlaceHolder, searchStringTemplate, identifierValues);

            Log.Logger = loggerFactory.GetLogger();
            var signalEventData = new SignalEventData(8898, "Long Short Portfolio", strategyId1, "Buy The Dip", "Long",
                                                      "Signal Encountered", EventType.Execution.ToString(), EventSubType.Signal.ToString(), DateTime.Now,
                                                      "ABC");
            var signalEventData2 = new SignalEventData(8898, "Long Short Portfolio", strategyId2, "Buy The Dip", "Long",
                                                       "Signal Encountered", EventType.Execution.ToString(), EventSubType.Signal.ToString(), DateTime.Now,
                                                       "ABC");
            var signalEventDataSerialized  = JsonConvert.SerializeObject(signalEventData);
            var signalEventDataSerialized2 = JsonConvert.SerializeObject(signalEventData2);

            Log.Information(signalEventDataSerialized);
            Log.Information(signalEventDataSerialized2);
            Log.CloseAndFlush();

            var logFileName = logConfig.BacktestLogFile.Replace(".",
                                                                DateTime.Now.ToString("yyyyMM") + ".").Replace(identifierPlaceHolder, strategyId1.ToString());
            var logFileContents = LogFileHandler.Read(logConfig.Path, logFileName);

            LogFileHandler.Delete(logConfig.Path, logFileName);

            var logFileName2 = logConfig.BacktestLogFile.Replace(".",
                                                                 DateTime.Now.ToString("yyyyMM") + ".").Replace(identifierPlaceHolder, strategyId2.ToString());
            var logFileContents2 = LogFileHandler.Read(logConfig.Path, logFileName2);

            LogFileHandler.Delete(logConfig.Path, logFileName2);

            Assert.IsTrue(logFileContents.Contains(signalEventDataSerialized));
            Assert.IsTrue(logFileContents2.Contains(signalEventDataSerialized2));
        }
        public void StrategyModeIsLiveAndNotUsingConfigfile_WorksCorrectly()
        {
            var logConfig     = GetTestLogConfiguration();
            var loggerFactory = new LoggerFactory(StrategyMode.Live, logConfig, RollingInterval.Month);

            Log.Logger = loggerFactory.GetLogger();
            var signalEventData = new SignalEventData(8898, "Long Short Portfolio", 339393, "Buy The Dip", "Long",
                                                      "Signal Encountered", EventType.Execution.ToString(), EventSubType.Signal.ToString(), DateTime.Now,
                                                      "ABC");
            var signalEventDataSerialized = JsonConvert.SerializeObject(signalEventData);

            Log.Information(signalEventDataSerialized);
            Log.CloseAndFlush();

            var logFileName = logConfig.LiveTradingLogFile.Replace(".",
                                                                   DateTime.Now.ToString("yyyyMM") + ".");
            var logFileContents = LogFileHandler.Read(logConfig.Path, logFileName);

            LogFileHandler.Delete(logConfig.Path, logFileName);

            Assert.IsTrue(logFileContents.Contains(signalEventDataSerialized));
        }