88 using Ninject ;
99 using Services ;
1010 using System ;
11- using System . Collections . Generic ;
1211 using System . Linq ;
1312 using System . Reflection ;
1413 using Transactions ;
@@ -111,11 +110,9 @@ public void DependencyInjectionCanConfigureRepositoriesWithInterceptorsFromOptio
111110 options . UseLoggerProvider ( TestXUnitLoggerProvider ) ;
112111 } ) ;
113112
114- var repo = new Repository < Customer > ( kernel . Get < IRepositoryOptions > ( ) ) ;
115-
116- var configuredInterceptors = GetLazyInterceptorsOptionsFromPrivateField < InternalRepositoryBase < Customer > > ( repo ) ;
113+ var repoOptions = kernel . Get < IRepositoryOptions > ( ) ;
117114
118- Assert . Equal ( 3 , configuredInterceptors . Count ( ) ) ;
115+ Assert . Equal ( 3 , repoOptions . Interceptors . Count ( ) ) ;
119116 Assert . Equal ( 3 , kernel . GetAll < IRepositoryInterceptor > ( ) . Count ( ) ) ;
120117 Assert . NotNull ( kernel . Get < TestRepositoryInterceptorWithDependencyInjectedServices > ( ) ) ;
121118
@@ -130,12 +127,12 @@ public void DependencyInjectionCanConfigureRepositoriesWithInterceptorsFromOptio
130127 Assert . Null ( registeredInterceptor2 . P1 ) ;
131128 Assert . False ( registeredInterceptor2 . P2 ) ;
132129
133- var configueredInterceptor1 = ( TestRepositoryTimeStampInterceptor ) configuredInterceptors [ typeof ( TestRepositoryTimeStampInterceptor ) ] . Value ;
130+ var configueredInterceptor1 = ( TestRepositoryTimeStampInterceptor ) repoOptions . Interceptors [ typeof ( TestRepositoryTimeStampInterceptor ) ] . Value ;
134131
135132 Assert . NotNull ( configueredInterceptor1 ) ;
136133 Assert . Equal ( "RANDOM USER" , configueredInterceptor1 . User ) ;
137134
138- var configueredInterceptor2 = ( TestRepositoryInterceptor ) configuredInterceptors [ typeof ( TestRepositoryInterceptor ) ] . Value ;
135+ var configueredInterceptor2 = ( TestRepositoryInterceptor ) repoOptions . Interceptors [ typeof ( TestRepositoryInterceptor ) ] . Value ;
139136
140137 Assert . NotNull ( configueredInterceptor2 ) ;
141138 Assert . Equal ( "RANDOM P1" , configueredInterceptor2 . P1 ) ;
@@ -153,22 +150,35 @@ public void DependencyInjectionCanConfigureRepositoriesWithScannedInterceptors()
153150 options . UseLoggerProvider ( TestXUnitLoggerProvider ) ;
154151 } ) ;
155152
156- var repo = new Repository < Customer > ( kernel . Get < IRepositoryOptions > ( ) ) ;
153+ var repoOptions = kernel . Get < IRepositoryOptions > ( ) ;
157154
158- Assert . Equal ( 3 , GetLazyInterceptorsOptionsFromPrivateField < InternalRepositoryBase < Customer > > ( repo ) . Count ( ) ) ;
155+ Assert . Equal ( 3 , repoOptions . Interceptors . Count ( ) ) ;
159156 Assert . Equal ( 3 , kernel . GetAll < IRepositoryInterceptor > ( ) . Count ( ) ) ;
160157 Assert . NotNull ( kernel . Get < TestRepositoryInterceptorWithDependencyInjectedServices > ( ) ) ;
161158 Assert . NotNull ( kernel . Get < TestRepositoryTimeStampInterceptor > ( ) ) ;
162159 Assert . NotNull ( kernel . Get < TestRepositoryInterceptor > ( ) ) ;
163160 }
164161
165- private static IReadOnlyDictionary < Type , Lazy < IRepositoryInterceptor > > GetLazyInterceptorsOptionsFromPrivateField < T > ( object obj )
162+ [ Fact ]
163+ public void DependencyInjectionCanConfigureLogginProviderWithScannedLogger ( )
166164 {
167- var options = ( IRepositoryOptions ) typeof ( T )
168- . GetField ( "_options" , BindingFlags . NonPublic | BindingFlags . Instance )
169- . GetValue ( obj ) ;
165+ var kernel = new StandardKernel ( ) ;
170166
171- return options . Interceptors ;
167+ kernel . BindRepositories < MicrosoftDependencyInjectionTests > ( options =>
168+ {
169+ options . UseInMemoryDatabase ( Guid . NewGuid ( ) . ToString ( ) , ignoreTransactionWarning : true ) ;
170+ options . UseLoggerProvider ( TestXUnitLoggerProvider ) ;
171+ } ) ;
172+
173+ var repoOptions = kernel . Get < IRepositoryOptions > ( ) ;
174+
175+ Assert . Equal ( typeof ( TestXUnitLoggerProvider ) , repoOptions . LoggerProvider . GetType ( ) ) ;
176+
177+ Assert . Equal ( 3 , repoOptions . Interceptors . Count ( ) ) ;
178+ Assert . Equal ( 3 , kernel . GetAll < IRepositoryInterceptor > ( ) . Count ( ) ) ;
179+ Assert . NotNull ( kernel . Get < TestRepositoryInterceptorWithDependencyInjectedServices > ( ) ) ;
180+ Assert . NotNull ( kernel . Get < TestRepositoryTimeStampInterceptor > ( ) ) ;
181+ Assert . NotNull ( kernel . Get < TestRepositoryInterceptor > ( ) ) ;
172182 }
173183 }
174184}
0 commit comments