public void ApplyInterfaceHandlerOrdering(EndpointConfiguration endpointConfiguration) { var handlerDependencies = GetHandlerDependencies(endpointConfiguration); var sorted = new TypeSorter(handlerDependencies).Sorted; endpointConfiguration.ExecuteTheseHandlersFirst(sorted); }
public void Run() { var dependencies = new Dictionary <Type, List <Type> > { [typeof(Class1)] = new List <Type> { typeof(Class2), typeof(Class3) }, [typeof(Class2)] = new List <Type> { typeof(Class3) } }; var sorted = new TypeSorter(dependencies).Sorted; Assert.Equal(3, sorted.Count); Assert.Equal(typeof(Class3), sorted[0]); Assert.Equal(typeof(Class2), sorted[1]); Assert.Equal(typeof(Class1), sorted[2]); }