def test_interfaces_walking(): """Check that interfaces walking does yield interfaces and respect depth. """ ints = {'interface1': ObjectDependentInfos(interfaces={'i': ObjectDependentInfos()}), 'interface2': ObjectDependentInfos()} infos = ObjectDependentInfos(interfaces=ints) print(list(zip(*infos.walk_interfaces()))) assert (sorted(list(zip(*infos.walk_interfaces()))[0]) == sorted(('interface1', 'i', 'interface2'))) assert (sorted(list(zip(*infos.walk_interfaces(0)))[0]) == sorted(('interface1', 'interface2')))
def test_dependencies_handling(): """Check that dependencies are correctly updated when instruments are. """ infos = ObjectDependentInfos(dependencies=['test']) infos.instruments = ['e'] assert len(infos.dependencies) == 3 infos.instruments.update(['t', 'y']) assert len(infos.dependencies) == 3 infos.instruments = [] assert set(['test']) == infos.dependencies