internal void ProcessTestSuite(XElement testSuite)
        {
            ITestSuiteMessageLogger testSuiteMessageLogger = _logger.WriteTestSuiteStarted((string)testSuite.Attribute("name"));

            foreach (var results in testSuite.Elements("results"))
            {
                foreach (var testCase in results.Elements("test-case"))
                {
                    var logger = testSuiteMessageLogger.WriteTestStarted((string)testCase.Attribute("name"));
                    switch ((string)testCase.Attribute("result"))
                    {
                    case "Success":
                        successfull++;
                        logger.WriteTestPassed(ParseTime((string)testCase.Attribute("time")));
                        break;

                    case "Error":
                    case "Failure":
                        failed++;
                        WriteFailure(logger, testCase);
                        break;

                    case "Ignored":
                        ignored++;
                        WriteIgnored(logger, testCase);
                        break;
                    }
                }

                foreach (var childSuite in results.Elements("test-suite"))
                {
                    ProcessTestSuite(childSuite);
                }
            }

            testSuiteMessageLogger.WriteTestSuiteFinished();
        }
        public void SetUp()
        {
            _rootSuiteName = "C:\\Program Files\\NUnit 2.2.9\\bin\\mock-assembly.dll";
            _passingTestName = "NUnit.Tests.Assemblies.MockTestFixture.MockTest1";

            _logger = MockRepository.GenerateMock<IMessageLogger>();
            _suiteLogger = MockRepository.GenerateMock<ITestSuiteMessageLogger>();
            _testLogger = MockRepository.GenerateMock<ITestLogger>();
            _logger.Stub(x => x.WriteTestSuiteStarted(Arg<string>.Is.Anything)).Return(_suiteLogger);
            _suiteLogger.Stub(x => x.WriteTestStarted(Arg<string>.Is.Anything)).Return(_testLogger);
            _subject = new NunitMessageProcessor(_logger);
        }