Implement the State Filters and Counts.

This commit is contained in:
Kevin Pilch-Bisson
2015-08-09 12:28:05 -07:00
parent c82e4d7e73
commit 2e07a602e1
2 changed files with 97 additions and 18 deletions
+64 -1
View File
@@ -62,13 +62,34 @@ namespace xunit.runner.wpf.ViewModel
private set { Set(ref methodsCaption, value); }
}
private int testsCompleted = -1;
private int testsCompleted = 0;
public int TestsCompleted
{
get { return testsCompleted; }
set { Set(ref testsCompleted, value); }
}
private int testsPassed = 0;
public int TestsPassed
{
get { return testsPassed; }
set { Set(ref testsPassed, value); }
}
private int testsFailed = 0;
public int TestsFailed
{
get { return testsFailed; }
set { Set(ref testsFailed, value); }
}
private int testsSkipped = 0;
public int TestsSkipped
{
get { return testsSkipped; }
set { Set(ref testsSkipped, value); }
}
private int maximumProgress = int.MaxValue;
public int MaximumProgress
{
@@ -323,6 +344,19 @@ namespace xunit.runner.wpf.ViewModel
private void TestRunVisitor_TestFinished(object sender, TestStateEventArgs e)
{
TestsCompleted++;
switch (e.State)
{
case TestState.Passed:
TestsPassed++;
break;
case TestState.Failed:
TestsFailed++;
break;
case TestState.Skipped:
TestsSkipped++;
break;
}
if (e.State > CurrentRunState)
{
CurrentRunState = e.State;
@@ -335,6 +369,35 @@ namespace xunit.runner.wpf.ViewModel
{
this.IsCancelRequested = true;
}
public bool IsPassedFilterChecked
{
get { return ResultFilter == TestState.Passed; }
set { UpdateFilter(value, TestState.Passed); }
}
public bool IsFailedFilterChecked
{
get { return ResultFilter == TestState.Failed; }
set { UpdateFilter(value, TestState.Failed); }
}
public bool IsSkippedFilterChecked
{
get { return ResultFilter == TestState.Skipped; }
set { UpdateFilter(value, TestState.Skipped); }
}
private void UpdateFilter(bool value, TestState newState)
{
if (value && ResultFilter != newState)
{
ResultFilter = newState;
RaisePropertyChanged(nameof(IsPassedFilterChecked));
RaisePropertyChanged(nameof(IsFailedFilterChecked));
RaisePropertyChanged(nameof(IsSkippedFilterChecked));
}
}
}
/// <summary>