public void WillCallAllComponentPassingDataAsExpected()
        {
            _reportGenerator.Generate(_reportFolder);

            _log.Received(1).Info("ReportGenerator started");
            _dateCalculator.Received(1).Calculate();
            _log.Received().InfoFormat("Report ExtractDateTime: {0}, PowerService request date: {1}", _dates.ExtractDateTime, _dates.RequestDate);
            _powerService.Received(1).GetTrades(_dates.RequestDate);
            _log.Received(1).InfoFormat("{0} trade returned", _powerTrades.Length);
            _positionAggregator.Received(1).Aggregate(_dates.RequestDate, Arg.Is <List <PowerTrade> >(x => x.Count == 2 && x[0] == _powerTradeOne && x[1] == _powerTradeTwo));
            _fileNameGenerator.Received(1).Generate(_dates.ExtractDateTime);
            _reportContentWriter.Received(1).Write(_powerPosition);
            _file.Received(1).WriteAllText(_reportFolder + _fileName, _content);
            _log.Received(1).InfoFormat("ReportGenerator complete: {0}", _reportFolder + _fileName);
        }