mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-01-24 05:25:19 +00:00
implemented toResolver
This commit is contained in:
@@ -25,8 +25,8 @@ class ResolvingContext<T> extends Resolver {
|
|||||||
* пользовательский резолвер
|
* пользовательский резолвер
|
||||||
*/
|
*/
|
||||||
ResolvingContext<T> toResolver<TImpl extends T>(Resolver<TImpl> resolver) {
|
ResolvingContext<T> toResolver<TImpl extends T>(Resolver<TImpl> resolver) {
|
||||||
// TODO: implement toResolver
|
_resolver = resolver;
|
||||||
throw UnimplementedError();
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
35
test/di_container_test.dart
Normal file
35
test/di_container_test.dart
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
import 'package:dart_di/di_container.dart';
|
||||||
|
import 'package:dart_di/resolvers/resolver.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
import 'package:mockito/mockito.dart';
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
group('Without parent', () {
|
||||||
|
test('Container bind<T> throws state error if it\'s already has resolver',
|
||||||
|
() {
|
||||||
|
final container = new DiContainer();
|
||||||
|
container.bind<int>().toResolver(_makeResolver(5));
|
||||||
|
|
||||||
|
expect(() => container.bind<int>().toResolver(_makeResolver(3)),
|
||||||
|
throwsA(isA<StateError>()));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
ResolverMock<T> _makeResolver<T>(T expectedValue) {
|
||||||
|
final resolverMock = new ResolverMock<T>();
|
||||||
|
when(resolverMock.resolve()).thenReturn(expectedValue);
|
||||||
|
return resolverMock;
|
||||||
|
}
|
||||||
|
|
||||||
|
class ResolverMock<T> extends Mock implements Resolver<T> {}
|
||||||
|
|
||||||
|
abstract class A {}
|
||||||
|
|
||||||
|
class B implements A {}
|
||||||
|
|
||||||
|
class DependOnA {
|
||||||
|
final A a;
|
||||||
|
|
||||||
|
DependOnA(this.a) : assert(a != null);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user