@@ -10,11 +10,14 @@ public class ConventionContext : IConventionResultContext
10
10
{
11
11
readonly string dataDescription ;
12
12
readonly IList < IReportDataFormatter > formatters ;
13
+ readonly IList < IResultsProcessor > processors ;
13
14
readonly IList < ConventionResult > results = new List < ConventionResult > ( ) ;
14
15
15
- public ConventionContext ( string dataDescription , IList < IReportDataFormatter > formatters )
16
+ public ConventionContext ( string dataDescription , IList < IReportDataFormatter > formatters ,
17
+ IList < IResultsProcessor > processors )
16
18
{
17
19
this . formatters = formatters ;
20
+ this . processors = processors ;
18
21
this . dataDescription = dataDescription ;
19
22
}
20
23
@@ -71,15 +74,17 @@ ConventionReportFailure FormatData<T>(T failingData)
71
74
return formatter . Format ( failingData ) ;
72
75
}
73
76
74
- public ConventionResult [ ] Execute < TDataSource > ( IConvention < TDataSource > convention ,
75
- TDataSource data )
77
+ public void Execute < TDataSource > ( IConvention < TDataSource > convention , TDataSource data )
76
78
where TDataSource : IConventionData
77
79
{
78
80
if ( ! data . HasData )
79
81
throw new ConventionSourceInvalidException ( String . Format ( "{0} has no data" , data . Description ) ) ;
80
82
convention . Execute ( data , this ) ;
81
83
82
- return ConventionResults ;
84
+ foreach ( var resultsProcessor in processors )
85
+ {
86
+ resultsProcessor . Process ( ConventionResults ) ;
87
+ }
83
88
}
84
89
}
85
90
}
0 commit comments