'Ensure that it is possible to construct a spec with explicit
dependency types.'

def test_construct_spec_with_deptypes(self):

    s = Spec('a', Spec('b', ['build'], Spec('c')), Spec('d', ['build', 'link'], Spec('e', ['run'], Spec('f'))))
    assert (s['b']._dependencies['c'].deptypes == ('build',))
    assert (s['d']._dependencies['e'].deptypes == ('build', 'link'))
    assert (s['e']._dependencies['f'].deptypes == ('run',))
    assert (s['b']._dependencies['c'].deptypes == ('build',))
    assert (s['d']._dependencies['e'].deptypes == ('build', 'link'))
    assert (s['e']._dependencies['f'].deptypes == ('run',))
    assert (s['c']._dependents['b'].deptypes == ('build',))
    assert (s['e']._dependents['d'].deptypes == ('build', 'link'))
    assert (s['f']._dependents['e'].deptypes == ('run',))
    assert (s['c']._dependents['b'].deptypes == ('build',))
    assert (s['e']._dependents['d'].deptypes == ('build', 'link'))
    assert (s['f']._dependents['e'].deptypes == ('run',))
