@@ -21,22 +21,14 @@ public partial record OtherMessageEvent(string Message)
2121
2222public class DynamicDuckTyping : DuckTyping
2323{
24- protected override IMessageBus CreateMessageBus ( IServiceCollection ? services = null )
25- {
26- services ??= new ServiceCollection ( ) ;
27- services . AddSingleton < IMessageBus > ( sp => new DynamicallyMessageBus ( sp ) ) ;
28- return services . BuildServiceProvider ( ) . GetRequiredService < IMessageBus > ( ) ;
29- }
24+ protected override IMessageBus CreateMessageBus ( IServiceProvider ? services = null ) =>
25+ new DynamicallyMessageBus ( services ?? new MockServiceProvider ( ) ) ;
3026}
3127
3228public class AutoMapperDuckTyping : DuckTyping
3329{
34- protected override IMessageBus CreateMessageBus ( IServiceCollection ? services = null )
35- {
36- services ??= new ServiceCollection ( ) ;
37- services . AddSingleton < IMessageBus > ( sp => new AutoMapperMessageBus ( sp ) ) ;
38- return services . BuildServiceProvider ( ) . GetRequiredService < IMessageBus > ( ) ;
39- }
30+ protected override IMessageBus CreateMessageBus ( IServiceProvider ? services = null ) =>
31+ new AutoMapperMessageBus ( services ?? new MockServiceProvider ( ) ) ;
4032
4133 [ Fact ]
4234 public void ExecuteWithExtraCtorArg ( )
@@ -45,7 +37,7 @@ public void ExecuteWithExtraCtorArg()
4537 var services = new ServiceCollection ( ) ;
4638 services . AddSingleton ( handler . Object ) ;
4739 services . AddSingleton ( typeof ( IServiceCollection ) , _ => services ) ;
48- var bus = CreateMessageBus ( services ) ;
40+ var bus = CreateMessageBus ( services . BuildServiceProvider ( ) ) ;
4941
5042 var cmd = new Library2 ::Library . Echo2 ( "Foo" ) ;
5143
@@ -57,7 +49,7 @@ public void ExecuteWithExtraCtorArg()
5749
5850public abstract class DuckTyping
5951{
60- protected abstract IMessageBus CreateMessageBus ( IServiceCollection ? services = null ) ;
52+ protected abstract IMessageBus CreateMessageBus ( IServiceProvider ? services = null ) ;
6153
6254#if NET6_0_OR_GREATER
6355 [ Fact ]
@@ -118,7 +110,7 @@ public void CanHandleDuck()
118110 var services = new ServiceCollection ( ) ;
119111 services . AddSingleton < ICommandHandler < Library1 ::Library . Echo , string > , Library1 ::Library . EchoHandler > ( ) ;
120112 services . AddSingleton ( typeof ( IServiceCollection ) , _ => services ) ;
121- var bus = CreateMessageBus ( services ) ;
113+ var bus = CreateMessageBus ( services . BuildServiceProvider ( ) ) ;
122114
123115 Assert . True ( bus . CanHandle < Library2 ::Library . Echo > ( ) ) ;
124116 Assert . True ( bus . CanHandle ( new Library2 ::Library . Echo ( "Foo" ) ) ) ;
@@ -130,7 +122,7 @@ public void CanExecuteDuck()
130122 var services = new ServiceCollection ( ) ;
131123 services . AddSingleton < ICommandHandler < Library1 ::Library . Echo , string > , Library1 ::Library . EchoHandler > ( ) ;
132124 services . AddSingleton ( typeof ( IServiceCollection ) , _ => services ) ;
133- var bus = CreateMessageBus ( services ) ;
125+ var bus = CreateMessageBus ( services . BuildServiceProvider ( ) ) ;
134126
135127 var cmd = new Library2 ::Library . Echo ( "Foo" ) ;
136128
@@ -143,7 +135,7 @@ public void ExecuteCommand()
143135 var services = new ServiceCollection ( ) ;
144136 services . AddSingleton < ICommandHandler < Library1 ::Library . Echo , string > , Library1 ::Library . EchoHandler > ( ) ;
145137 services . AddSingleton ( typeof ( IServiceCollection ) , _ => services ) ;
146- var bus = CreateMessageBus ( services ) ;
138+ var bus = CreateMessageBus ( services . BuildServiceProvider ( ) ) ;
147139
148140 var cmd = new Library2 ::Library . Echo ( "Foo" ) ;
149141
@@ -158,7 +150,7 @@ public void ExecuteNoOpCommand()
158150 var services = new ServiceCollection ( ) ;
159151 services . AddSingleton < ICommandHandler < Library1 ::Library . NoOp > , Library1 ::Library . NoOpHandler > ( ) ;
160152 services . AddSingleton ( typeof ( IServiceCollection ) , _ => services ) ;
161- var bus = CreateMessageBus ( services ) ;
153+ var bus = CreateMessageBus ( services . BuildServiceProvider ( ) ) ;
162154
163155 var cmd = new Library2 ::Library . NoOp ( ) ;
164156
@@ -171,7 +163,7 @@ public async Task ExecuteAsyncCommandAsync()
171163 var services = new ServiceCollection ( ) ;
172164 services . AddSingleton < IAsyncCommandHandler < Library1 ::Library . EchoAsync , string > , Library1 ::Library . EchoAsyncHandler > ( ) ;
173165 services . AddSingleton ( typeof ( IServiceCollection ) , _ => services ) ;
174- var bus = CreateMessageBus ( services ) ;
166+ var bus = CreateMessageBus ( services . BuildServiceProvider ( ) ) ;
175167
176168 var cmd = new Library2 ::Library . EchoAsync ( "Foo" ) ;
177169
@@ -186,7 +178,7 @@ public async Task ExecuteNoOpAsyncCommandAsync()
186178 var services = new ServiceCollection ( ) ;
187179 services . AddSingleton < IAsyncCommandHandler < Library1 ::Library . NoOpAsync > , Library1 ::Library . NoOpAsyncHandler > ( ) ;
188180 services . AddSingleton ( typeof ( IServiceCollection ) , _ => services ) ;
189- var bus = CreateMessageBus ( services ) ;
181+ var bus = CreateMessageBus ( services . BuildServiceProvider ( ) ) ;
190182
191183 var cmd = new Library2 ::Library . NoOpAsync ( ) ;
192184
0 commit comments