/// <summary>
        /// Creates the output template factory.
        /// </summary>
        /// <returns></returns>
        public IOutputTemplateFactory CreateOutputTemplateFactory()
        {
            IList <string> filePaths = _directoryWrapper.EnumerateFiles(_xmlPath).ToList();

            if (filePaths.Count > 1)
            {
                return(CreateMultipleTestRunOutputTemplateFactory(filePaths));
            }
            else
            {
                TestRun testRun = _testRunResultParser.ParseXml(_xmlPath);
                return(new TestRunOutputTemplateFactory(testRun));
            }
        }
        public void CreateOutputTemplateFactory_WhenThereIsMoreThanOneFileInPath_ShouldReturnMultipleTestRunOutputTemplateFactory()
        {
            // Arrange
            string xmlPath = "/test/*.xml";

            _fileSystemManager.EnumerateFiles(xmlPath).Returns(new List <string> {
                "1.xml", "2.xml"
            });
            var outputTemplateManager = CreateOutputTemplateManager(xmlPath);

            _testRunResultParser.ParseXml(xmlPath).Returns(new TestRun());

            // Act
            var outputTemplateFactory = outputTemplateManager.CreateOutputTemplateFactory();

            // Assert
            Assert.AreEqual(typeof(MultipleTestRunOutputTemplateFactory), outputTemplateFactory.GetType());
        }