@@ -15,49 +15,6 @@ protected override IServiceProvider CreateServiceProvider(IServiceCollection ser
1515 return serviceCollection . BuildServiceProvider ( ) ;
1616 }
1717
18- [ Fact ]
19- #pragma warning disable xUnit1024 // Test methods cannot have overloads
20- public new void DisposesInReverseOrderOfCreation ( )
21- #pragma warning restore xUnit1024 // Test methods cannot have overloads
22- {
23- // Arrange
24- var serviceCollection = new TestServiceCollection ( ) ;
25- serviceCollection . AddSingleton < FakeDisposeCallback > ( ) ;
26- serviceCollection . AddTransient < IFakeOuterService , FakeDisposableCallbackOuterService > ( ) ;
27- serviceCollection . AddSingleton < IFakeMultipleService , FakeDisposableCallbackInnerService > ( ) ;
28- serviceCollection . AddScoped < IFakeMultipleService , FakeDisposableCallbackInnerService > ( ) ;
29- serviceCollection . AddTransient < IFakeMultipleService , FakeDisposableCallbackInnerService > ( ) ;
30- serviceCollection . AddSingleton < IFakeService , FakeDisposableCallbackInnerService > ( ) ;
31- var serviceProvider = CreateServiceProvider ( serviceCollection ) ;
32-
33- var callback = serviceProvider . GetService < FakeDisposeCallback > ( ) ;
34- var outer = serviceProvider . GetService < IFakeOuterService > ( ) ;
35- var multipleServices = outer . MultipleServices . ToArray ( ) ;
36-
37- // Act
38- ( ( IDisposable ) serviceProvider ) . Dispose ( ) ;
39-
40- // Assert
41- Assert . Equal ( outer , callback . Disposed [ 0 ] ) ;
42- Assert . Equal ( multipleServices . Reverse ( ) , callback . Disposed . Skip ( 1 ) . Take ( 3 ) . OfType < IFakeMultipleService > ( ) ) ;
43- Assert . Equal ( outer . SingleService , callback . Disposed [ 4 ] ) ;
44- }
45-
46- public class FakeDisposableCallbackOuterService : FakeDisposableCallbackService , IFakeOuterService
47- {
48- public FakeDisposableCallbackOuterService (
49- IFakeService singleService ,
50- IEnumerable < IFakeMultipleService > multipleServices ,
51- FakeDisposeCallback callback ) : base ( callback )
52- {
53- SingleService = singleService ;
54- MultipleServices = multipleServices . ToArray ( ) ;
55- }
56-
57- public IFakeService SingleService { get ; }
58- public IEnumerable < IFakeMultipleService > MultipleServices { get ; }
59- }
60-
6118 [ Fact ]
6219#pragma warning disable xUnit1024 // Test methods cannot have overloads
6320 public new void ResolvesMixedOpenClosedGenericsAsEnumerable ( )
@@ -85,9 +42,10 @@ public FakeDisposableCallbackOuterService(
8542
8643 Assert . Contains ( instance , enumerable ) ;
8744 Assert . Equal ( instance , service ) ;
88- // Assert.IsType<FakeService>(enumerable[0]);
45+ Assert . IsType < FakeService > ( enumerable [ 0 ] ) ;
8946 }
9047 }
48+
9149 internal class TestServiceCollection : List < ServiceDescriptor > , IServiceCollection
9250 {
9351 }
0 commit comments