'Add a dependency relation.
This function does not check for circular dependencies.
>>> tracker = DependencyTracker()
>>> tracker.add(0, 1)
>>> tracker.add(0, 2)
>>> tracker.resolve(0)
{1, 2}
:param dependency:
The object that is the dependency.
:param dependant:
The object that is the dependant.'

def add(self, dependency, dependant):

    if (dependency not in self._dependency_dict):
        self._dependency_dict[dependency] = set()
    self._dependency_dict[dependency].add(dependant)
