public void TestInitialize()
        {
            _tradeLogCsvDataRepositoryMock = new Mock <ICsvDataRepository <TradeLogRecord> >();
            _tradingResultsRepositoryMock  = new Mock <ITradingResultsRepository>();

            _tradeLog = new List <TradeLogRecord>
            {
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Buy,
                    ExecutedAction = MarketAction.Hold,
                    Profit         = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Buy,
                    ExecutedAction = MarketAction.Buy,
                    Profit         = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Buy,
                    ExecutedAction = MarketAction.Sell,
                    Profit         = 10.0
                },
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Sell,
                    ExecutedAction = MarketAction.Sell,
                    Profit         = 11.0
                },
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Buy,
                    ExecutedAction = MarketAction.Buy,
                    Profit         = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Sell,
                    ExecutedAction = MarketAction.Sell,
                    Profit         = -5.5
                },
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Sell,
                    ExecutedAction = MarketAction.Sell,
                    Profit         = -3.9
                },
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Sell,
                    ExecutedAction = MarketAction.Sell,
                    Profit         = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Buy,
                    ExecutedAction = MarketAction.Hold,
                    Profit         = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Buy,
                    ExecutedAction = MarketAction.Hold,
                    Profit         = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Buy,
                    ExecutedAction = MarketAction.Buy,
                    Profit         = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction  = MarketAction.Buy,
                    ExecutedAction = MarketAction.Buy,
                    Profit         = 0.0
                }
            };
            _tradeLogCsvDataRepositoryMock
            .Setup(x => x.CsvLinesNormalized)
            .Returns(_tradeLog);

            _service = new ForexTradingStatisticsService(
                _tradeLogCsvDataRepositoryMock.Object,
                _tradingResultsRepositoryMock.Object);
        }
        public void TestInitialize()
        {
            _tradeLogCsvDataRepositoryMock = new Mock<ICsvDataRepository<TradeLogRecord>>();
            _tradingResultsRepositoryMock = new Mock<ITradingResultsRepository>();

            _tradeLog = new List<TradeLogRecord>
            {
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Buy,
                    ExecutedAction = MarketAction.Hold,
                    Profit = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Buy,
                    ExecutedAction = MarketAction.Buy,
                    Profit = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Buy,
                    ExecutedAction = MarketAction.Sell,
                    Profit = 10.0
                },
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Sell,
                    ExecutedAction = MarketAction.Sell,
                    Profit = 11.0
                },
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Buy,
                    ExecutedAction = MarketAction.Buy,
                    Profit = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Sell,
                    ExecutedAction = MarketAction.Sell,
                    Profit = -5.5
                },
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Sell,
                    ExecutedAction = MarketAction.Sell,
                    Profit = -3.9
                },
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Sell,
                    ExecutedAction = MarketAction.Sell,
                    Profit = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Buy,
                    ExecutedAction = MarketAction.Hold,
                    Profit = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Buy,
                    ExecutedAction = MarketAction.Hold,
                    Profit = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Buy,
                    ExecutedAction = MarketAction.Buy,
                    Profit = 0.0
                },
                new TradeLogRecord
                {
                    CorrectAction = MarketAction.Buy,
                    ExecutedAction = MarketAction.Buy,
                    Profit = 0.0
                }
            };
            _tradeLogCsvDataRepositoryMock
                .Setup(x => x.CsvLinesNormalized)
                .Returns(_tradeLog);

            _service = new ForexTradingStatisticsService(
                        _tradeLogCsvDataRepositoryMock.Object,
                        _tradingResultsRepositoryMock.Object);
        }