diff --git a/lib/di_container.dart b/lib/di_container.dart index 27ac8c0..34238f8 100644 --- a/lib/di_container.dart +++ b/lib/di_container.dart @@ -70,6 +70,6 @@ class DiContainer { * @return - возвращает булево значение */ bool hasInTree() { - return has() || (_parent != null && _parent.hasInTree()); + return has() || (_parent != null && _parent.hasInTree()); } } diff --git a/test/di_container_test.dart b/test/di_container_test.dart index 54f11a7..ddd7b62 100644 --- a/test/di_container_test.dart +++ b/test/di_container_test.dart @@ -50,6 +50,20 @@ void main() { expect(container.hasInTree(), false); }); }); + + group('With parent', () { + test( + "Container bind() throws state error (if it's parent already has a resolver)", + () { + final parentContainer = new DiContainer(); + final container = new DiContainer(parentContainer); + + parentContainer.bind().toResolver(_makeResolver(5)); + + expect(() => container.bind().toResolver(_makeResolver(3)), + throwsA(isA())); + }); + }); } ResolverMock _makeResolver(T expectedValue) {