Exemple #1
0
        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>());
        }
Exemple #4
0
        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");
            }
        }
Exemple #5
0
        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()));
        }