public void Analyze_WithInvalidConfiguration_ReturnsResultsWithExpectedViolationInformation() { // Arrange var expectedImplementationTypeInformation = new DebuggerViewItem( name: "ImplementationType", description: typeof(PluginWith8Dependencies).Name, value: typeof(PluginWith8Dependencies)); var expectedDependenciesInformation = new DebuggerViewItem( name: "Dependencies", description: "8 dependencies.", value: null); Container container = CreateContainerWithRegistrations(typeof(PluginWith8Dependencies)); container.Verify(); // Act var results = DebuggerGeneralWarningsContainerAnalyzer.Analyze(container).Value as DebuggerViewItem[]; var result = results.Single(); var violationInformation = result.Value as DebuggerViewItem[]; // Assert Assert_AreEqual(expectedImplementationTypeInformation, violationInformation[0]); Assert_AreEqual(expectedDependenciesInformation, violationInformation[1], validateValue: false); }
private static DebuggerViewItem[] GetShortCircuitedResults(DebuggerViewItem item) { var results = item.Value as DebuggerViewItem[]; return(results .Single(result => result.Name == "Possible Short Circuited Dependencies") .Value as DebuggerViewItem[]); }
internal static IEnumerable <DebuggerViewItem> Items(this DebuggerViewItem item) { if (item.Value is IEnumerable <DebuggerViewItem> ) { return(item.Value as IEnumerable <DebuggerViewItem>); } return(Enumerable.Empty <DebuggerViewItem>()); }
private static void Assert_AreEqual(DebuggerViewItem expected, DebuggerViewItem actual, bool validateValue = true) { Assert.AreEqual(expected.Name, actual.Name, "Names do not match"); Assert.AreEqual(expected.Description, actual.Description, "Descriptions do not match"); if (validateValue) { Assert.AreEqual(expected.Value, actual.Value, "Values do not match"); } }
private DebuggerViewItem BuildItem(ILookup <IHandler, object> results) { var totalCount = 0; var items = new List <DebuggerViewItem>(); foreach (var result in results) { var handler = result.Key; var objects = result.ToArray(); totalCount += objects.Length; var view = ComponentDebuggerView.BuildFor(handler); var item = new DebuggerViewItem(handler.GetComponentName(), "Count = " + objects.Length, new ReleasePolicyTrackedObjectsDebuggerViewItem(view, objects)); items.Add(item); } return(new DebuggerViewItem(name, "Count = " + totalCount, items.ToArray())); }
private DebuggerViewItem BuildItem(ILookup <IHandler, object> results) { var totalCount = 0; var items = new List <DebuggerViewItem>(); foreach (var result in results.OrderBy(l => l.Key.ComponentModel.Name)) { var handler = result.Key; var objects = result.ToArray(); totalCount += objects.Length; var view = ComponentDebuggerView.BuildFor(handler); var item = new DebuggerViewItem(handler.GetComponentName(), "Count = " + objects.Length, new MasterDetailsDebuggerViewItem(view, view.Description, "Component", objects)); items.Add(item); } items.Sort((f, s) => f.Name.CompareTo(s.Name)); return(new DebuggerViewItem(name, "Count = " + totalCount, items.ToArray())); }