private static Func <int> DeepIncrementalAlt(ISystemAllocation allocation) { var query = DeepContainerAnalysis.GetFaultyContainers2(allocation); var queryInc = Observable.Expression(() => query.Count()); return(() => queryInc.Value); }
private static Func <int> DeepBatch(ISystemAllocation allocation) { var query = DeepContainerAnalysis.GetFaultyContainers(allocation); return(() => query.Count()); }
public static IEnumerable <Tuple <IAssemblyContext, IAssemblyContext> > GetFaultyContainers2Enumerable(ISystemAllocation allocation) { return(from ass in allocation.GetSystemArchitecture().AssemblyContexts.AsEnumerable() let container = allocation.GetAssemblyContextsValue(ass) from req in ass.ReferencedElements.OfType <IAssemblyContext>() where allocation.GetAssemblyContextsValue(req) != container && !allocation.Environment.Links.Any( l => l.Connects.Contains(container) && l.Connects.Contains(allocation.GetAssemblyContextsValue(req))) select Tuple.Create(ass, req)); }
public static IEnumerable <Tuple <IAssemblyContext, IRequiredInterface> > GetFaultyContainersEnumerable(ISystemAllocation allocation) { return(from ass in allocation.GetSystemArchitecture().AssemblyContexts.AsEnumerable() let container = allocation.GetAssemblyContextsValue(ass) from req in ass.GetComponentType().RequiredInterfaces where allocation.GetAssemblyContextsValue(ass.GetRequiredInterfacesValue(req)) != container && !allocation.Environment.Links.Any( l => l.Connects.Contains(container) && l.Connects.Contains(allocation.GetAssemblyContextsValue(ass.GetRequiredInterfacesValue(req)))) select Tuple.Create(ass, req)); }