diff --git a/lib/resolvers/resolving_context.dart b/lib/resolvers/resolving_context.dart index 8f04f87..5ba1a3d 100644 --- a/lib/resolvers/resolving_context.dart +++ b/lib/resolvers/resolving_context.dart @@ -15,8 +15,8 @@ class ResolvingContext extends Resolver { */ @override T resolve() { - // TODO: implement resolve - throw UnimplementedError(); + _verify(); + return _resolver?.resolve(); } /** @@ -121,4 +121,11 @@ class ResolvingContext 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()"); + } + } } diff --git a/test/di_container_test.dart b/test/di_container_test.dart index c32c723..986c3dc 100644 --- a/test/di_container_test.dart +++ b/test/di_container_test.dart @@ -13,6 +13,13 @@ void main() { expect(() => container.bind().toResolver(_makeResolver(3)), throwsA(isA())); }); + + test("Container resolves value after adding a dependency", () { + final expectedValue = 3; + final container = new DiContainer(); + container.bind().toResolver(_makeResolver(expectedValue)); + expect(container.resolve(), expectedValue); + }); }); }