added unit test andfixed hasInTree method

This commit is contained in:
Sergey Penkovsky
2020-07-02 18:46:09 +03:00
parent 991f4b2a6a
commit c24e6ac7b9
2 changed files with 15 additions and 1 deletions

View File

@@ -70,6 +70,6 @@ class DiContainer {
* @return - возвращает булево значение
*/
bool hasInTree<T>() {
return has<T>() || (_parent != null && _parent.hasInTree());
return has<T>() || (_parent != null && _parent.hasInTree<T>());
}
}

View File

@@ -50,6 +50,20 @@ void main() {
expect(container.hasInTree<int>(), 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<int>().toResolver(_makeResolver(5));
expect(() => container.bind<int>().toResolver(_makeResolver(3)),
throwsA(isA<StateError>()));
});
});
}
ResolverMock<T> _makeResolver<T>(T expectedValue) {