private static void AssertSortReturns(IReadOnlyList <ApplicationContext> apps, params string[] expected) { // ACT var sorted = AppSorter.SortByDependency(apps); // ASSERT Assert.Equal(expected, sorted.Select(a => a.Id)); var sortedReverse = AppSorter.SortByDependency(apps.Reverse().ToArray()); Assert.Equal(expected, sortedReverse.Select(a => a.Id)); }
public void TrowsOnCycleTest() { // ARRANGE var apps = new List <ApplicationContext> { TestApp("a", "b"), TestApp("b", "a"), }; // ACT Action act = () => AppSorter.SortByDependency(apps); // ASSERT var ex = Assert.Throws <NetDaemonException>(act); Assert.Contains("circular dependencies", ex.Message, StringComparison.Ordinal); }
public void TrowsOnNotFoundDependency() { // ARRANGE var apps = new List <ApplicationContext> { TestApp("test", "dependent_app") }; // ACT Action act = () => AppSorter.SortByDependency(apps); // ASSERT var ex = Assert.Throws <NetDaemonException>(act); Assert.Contains("There is no app named dependent_app", ex.Message, StringComparison.Ordinal); }