public void TestStateChanged()
{
if (this.TestState == TestState.Ignored)
return;
var hasNotRunnedTests = false;
foreach (var test in Tests)
{
if (test.TestState == TestState.Failure)
{
this.TestState = TestState.Failure;
return;
}
if (!hasNotRunnedTests && test.TestState != TestState.Success)
hasNotRunnedTests = true;
}
this.TestState = hasNotRunnedTests ? TestState.Skipped : TestState.Success;
}