@@ -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