@@ -86,7 +86,7 @@ public void AddAssemblyTriggers_WithAssembly_RegistersWithThatAssembly()
8686 var serviceCollection = new ServiceCollection ( )
8787 . AddAssemblyTriggers ( typeof ( ServiceCollectionExtensionsTests ) . Assembly ) ;
8888
89- Assert . Equal ( 8 , serviceCollection . Count ) ;
89+ Assert . Equal ( 16 , serviceCollection . Count ) ;
9090 }
9191
9292 protected async Task SaveChanges_TriggeredAddedThroughDI_Template ( Func < IServiceCollection , IServiceCollection > transform )
@@ -108,18 +108,29 @@ protected async Task SaveChanges_TriggeredAddedThroughDI_Template(Func<IServiceC
108108 await dbContext . SaveChangesAsync ( ) ;
109109
110110 var trigger = serviceProvider . GetRequiredService < SampleTrigger > ( ) ;
111+ var triggerClone = serviceProvider . GetRequiredService < SampleTriggerClone > ( ) ;
111112
112113 Assert . Equal ( 1 , trigger . BeforeSaveStartingTriggerCalls ) ;
113114 Assert . Equal ( 1 , trigger . BeforeSaveCalls ) ;
114115 Assert . Equal ( 1 , trigger . BeforeSaveAsyncCalls ) ;
115116 Assert . Equal ( 1 , trigger . AfterSaveCalls ) ;
116117 Assert . Equal ( 1 , trigger . AfterSaveAsyncCalls ) ;
118+
119+ Assert . Equal ( 1 , triggerClone . BeforeSaveStartingTriggerCalls ) ;
120+ Assert . Equal ( 1 , triggerClone . BeforeSaveCalls ) ;
121+ Assert . Equal ( 1 , triggerClone . BeforeSaveAsyncCalls ) ;
122+ Assert . Equal ( 1 , triggerClone . AfterSaveCalls ) ;
123+ Assert . Equal ( 1 , triggerClone . AfterSaveAsyncCalls ) ;
117124 }
118125
119126 [ Fact ]
120127 public Task SaveChanges_ExplicitlyAddedTriggerThroughDI_RaisesAllTriggerTypes ( )
121- => SaveChanges_TriggeredAddedThroughDI_Template ( x => x . AddTrigger < SampleTrigger > ( ) ) ;
122-
128+ => SaveChanges_TriggeredAddedThroughDI_Template ( x => {
129+ x . AddTrigger < SampleTrigger > ( ) ;
130+ x . AddTrigger < SampleTriggerClone > ( ) ;
131+
132+ return x ;
133+ } ) ;
123134
124135 [ Fact ]
125136 public Task SaveChanges_DiscoveredTriggerThroughDI_RaisesAllTriggerTypes ( )
@@ -141,9 +152,10 @@ public void AddTrigger_Multiple_AddsRegistrationForAll(ServiceLifetime lifetime)
141152 {
142153 var serviceCollection = new ServiceCollection ( )
143154 . AddTrigger < SampleTrigger > ( lifetime )
155+ . AddTrigger < SampleTriggerClone > ( lifetime )
144156 . AddTrigger < Trigger < object > > ( lifetime ) ;
145157
146- Assert . Equal ( 15 , serviceCollection . Count ) ;
158+ Assert . Equal ( 23 , serviceCollection . Count ) ;
147159 }
148160
149161 [ Theory ]
@@ -152,9 +164,10 @@ public void AddAssemblyTriggers_Multiple_AddsRegistrationForAll(ServiceLifetime
152164 {
153165 var serviceCollection = new ServiceCollection ( )
154166 . AddTrigger < SampleTrigger > ( lifetime )
167+ . AddTrigger < SampleTriggerClone > ( lifetime )
155168 . AddAssemblyTriggers ( typeof ( Trigger < object > ) . Assembly ) ;
156169
157- Assert . Equal ( 15 , serviceCollection . Count ) ;
170+ Assert . Equal ( 23 , serviceCollection . Count ) ;
158171 }
159172
160173 [ Fact ]
@@ -228,9 +241,10 @@ public void AddAssemblyTriggers_WhenExplicitlyRegisteredAsAService_OnlyAddsTheTr
228241 {
229242 var serviceCollection = new ServiceCollection ( )
230243 . AddSingleton < SampleTrigger > ( )
244+ . AddSingleton < SampleTriggerClone > ( )
231245 . AddAssemblyTriggers ( ) ;
232246
233- Assert . Equal ( 8 , serviceCollection . Count ) ;
247+ Assert . Equal ( 16 , serviceCollection . Count ) ;
234248 }
235249 }
236250}
0 commit comments