public void WhenResolvingTheIncorrectJobsStructureItThrowsAnError() { var ex = Assert.Throws <CircularJobDependencyException>(() => _subject.Resolve("AC")); Assert.That(ex, Is.Not.Null, "The circular dependency has not been detected when expected!"); }
public void WhenPassingSequenceOfThreeJobsItResolvesTheCorrectOrder() { var result = _subject.Resolve("ABC"); Assert.That(result == "CAB" || result == "ACB", Is.True, "The resolved order is incorrect."); }
public void WhenResolvingTheAdvancedDependenciesItConsidersMultipleDependenciesAndReturnsTheCorrectOrder() { var result = _subject.Resolve("ABCDEF"); Assert.That(result == "ADFCEB", Is.True, "The resolved order is incorrect."); }
public void WhenPassingAnEmptyStringItResolvesWithEmptySequence() { var result = _subject.Resolve(string.Empty); Assert.That(result == string.Empty, Is.True, "The resolved sequence is not empty."); }
public void WhenResolvingMultipleJobsDependenciesItReturnsTheCorrectOrderOfJobs() { var result = _subject.Resolve("ABCDEF"); Assert.That(result == "AFCDBE" || result == "FACDBE" || result == "AFDCBE" || result == "FADCBE" || result == "ADFCBE", Is.True, "The resolved order is incorrect."); }