From c24e6ac7b95ad3302de79ce6f686d028ce521300 Mon Sep 17 00:00:00 2001 From: Sergey Penkovsky Date: Thu, 2 Jul 2020 18:46:09 +0300 Subject: [PATCH] added unit test andfixed hasInTree method --- lib/di_container.dart | 2 +- test/di_container_test.dart | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) 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) {