Skip to content

Commit 945178e

Browse files
committed
moved logic out of the static class
and into ConventionContext
1 parent 767bcfd commit 945178e

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

TestStack.ConventionTests/Convention.cs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,8 @@ public static void Is<TDataSource>(IConvention<TDataSource> convention, TDataSou
4040
IResultsProcessor[] processors)
4141
where TDataSource : IConventionData
4242
{
43-
var context = new ConventionContext(data.Description, Formatters);
44-
var conventionResult = context.Execute(convention, data);
45-
46-
foreach (var processor in processors)
47-
{
48-
processor.Process(conventionResult);
49-
}
43+
var context = new ConventionContext(data.Description, Formatters, processors);
44+
context.Execute(convention, data);
5045
}
5146

5247
public static void IsWithApprovedExeptions<TDataSource>(IConvention<TDataSource> convention, TDataSource data)

TestStack.ConventionTests/Internal/ConventionContext.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,14 @@ public class ConventionContext : IConventionResultContext
1010
{
1111
readonly string dataDescription;
1212
readonly IList<IReportDataFormatter> formatters;
13+
readonly IList<IResultsProcessor> processors;
1314
readonly IList<ConventionResult> results = new List<ConventionResult>();
1415

15-
public ConventionContext(string dataDescription, IList<IReportDataFormatter> formatters)
16+
public ConventionContext(string dataDescription, IList<IReportDataFormatter> formatters,
17+
IList<IResultsProcessor> processors)
1618
{
1719
this.formatters = formatters;
20+
this.processors = processors;
1821
this.dataDescription = dataDescription;
1922
}
2023

@@ -71,15 +74,17 @@ ConventionReportFailure FormatData<T>(T failingData)
7174
return formatter.Format(failingData);
7275
}
7376

74-
public ConventionResult[] Execute<TDataSource>(IConvention<TDataSource> convention,
75-
TDataSource data)
77+
public void Execute<TDataSource>(IConvention<TDataSource> convention, TDataSource data)
7678
where TDataSource : IConventionData
7779
{
7880
if (!data.HasData)
7981
throw new ConventionSourceInvalidException(String.Format("{0} has no data", data.Description));
8082
convention.Execute(data, this);
8183

82-
return ConventionResults;
84+
foreach (var resultsProcessor in processors)
85+
{
86+
resultsProcessor.Process(ConventionResults);
87+
}
8388
}
8489
}
8590
}

0 commit comments

Comments
 (0)