implemented resolve method

This commit is contained in:
Sergey Penkovsky
2020-06-28 10:54:26 +03:00
parent e9394830e8
commit 09e331aba5
2 changed files with 16 additions and 2 deletions

View File

@@ -15,8 +15,8 @@ class ResolvingContext<T> extends Resolver {
*/
@override
T resolve() {
// TODO: implement resolve
throw UnimplementedError();
_verify();
return _resolver?.resolve();
}
/**
@@ -121,4 +121,11 @@ class ResolvingContext<T> extends Resolver {
// TODO: implement toFactory8
throw UnimplementedError();
}
void _verify() {
if (_resolver == null) {
throw StateError("Can\'t resolve T without any resolvers. " +
"Please check, may be you didn\'t do anything after bind()");
}
}
}

View File

@@ -13,6 +13,13 @@ void main() {
expect(() => container.bind<int>().toResolver(_makeResolver(3)),
throwsA(isA<StateError>()));
});
test("Container resolves value after adding a dependency", () {
final expectedValue = 3;
final container = new DiContainer();
container.bind<int>().toResolver(_makeResolver(expectedValue));
expect(container.resolve<int>(), expectedValue);
});
});
}