public override void TestStarting(object sender, TestEventArgs <UnitTestMethod> args)
        {
            UnitTestMethod      test           = args.Test.CopyAs <UnitTestMethod>();
            TestSuiteDefinition suite          = TestSuiteDefinition.FromMethod(test);
            TestDefinition      testDefinition = GetTestDefinition(suite.Title, test.Description);

            SetTestExecution(test);
        }
        /// <summary>
        /// Get a TestSuiteDefinition for the specified test creating it if necessary
        /// and populating the internal cache
        /// </summary>
        /// <param name="test"></param>
        /// <returns></returns>
        protected TestSuiteDefinition GetTestSuiteDefinition(ConsoleMethod test)
        {
            TestSuiteDefinition suite = TestSuiteDefinition.FromMethod(test);

            if (!_testSuiteDefinitionLookupByTitle.TryGetValue(suite.Title, out suite))
            {
                GetSuiteDefinitionResponse response = TestReportService.GetSuiteDefinition(suite.Title);
                if (response.Success)
                {
                    _testSuiteDefinitionLookupByTitle.TryAdd(suite.Title, response.SuiteDefinition);
                }
                else
                {
                    Logger.Warning("Failed to define test suite: {0}", response.Message);
                }
            }

            return(suite);
        }