Пример #1
0
        //  [ExpectedException(typeof(AssertFailedException))]
        public void TreeContainsCorrectRecuriveTreeItems()
        {
            var first = new ExtendedClassWithRecursion();

            first.Name = "first";
            var second = new ExtendedClassWithRecursion();

            second.Name = "second";
            var third = new ClassWithRecursion();

            third.Name = "third";


            first.Subclass        = second;
            second.Subclass       = first;
            first.AnotherSubclass = third;
            third.Subclass        = second;

            var sourceTree = new ObjectTreeItem(first);

            sourceTree.CreateTree();
            Trace.WriteLine(string.Join("\n", sourceTree.RecursionObjectTreeItems.Select(item => item.Parent.Item)));

            Assert.AreEqual(2, sourceTree.RecursionObjectTreeItems.Count);
            Assert.IsTrue(sourceTree.RecursionObjectTreeItems.Any(item => item.Parent.Item == second));
            Assert.IsFalse(sourceTree.RecursionObjectTreeItems.Any(item => item.Parent.Item == first));
            Assert.IsFalse(sourceTree.RecursionObjectTreeItems.Any(item => item.Parent.Item == third));
        }
Пример #2
0
        public void RecursiveItemsAreOnlyRecursiveItemsTest()
        {
            var first = new ExtendedClassWithRecursion();

            first.Name = "first";
            var second = new ExtendedClassWithRecursion();

            second.Name = "second";
            var third = new ClassWithRecursion();

            third.Name = "third";

            first.Subclass        = second;
            second.Subclass       = first;
            first.AnotherSubclass = third;
            third.Subclass        = second;

            var sourceTree = new ObjectTreeItem(first);

            sourceTree.CreateTree();

            foreach (var recursiveSourceTreeItem in sourceTree.RecursionObjectTreeItems)
            {
                //if (!ReferenceEquals(recursiveSourceTreeItem.Parent.Item, first))
                if (recursiveSourceTreeItem.Item != first)
                {
                    // Tree contains errors, if recursive tree items does not contain root as any of their child
                    Trace.TraceInformation(sourceTree.ToFormattedString());
                    throw new Exception("<<<< BUG IN OBJECT TREE>>>>>\n" +
                                        "In: \"" + recursiveSourceTreeItem.Item + "\"\n" +
                                        "Expected Item: \"" + first + "\"\n" +
                                        "Actual Items: \"" + recursiveSourceTreeItem.ToFormattedString());
                }
            }
        }
Пример #3
0
        //  [ExpectedException(typeof(AssertFailedException))]
        public void ToFormattedStringTest()
        {
            var first = new ExtendedClassWithRecursion();

            first.Name = "first";
            var second = new ExtendedClassWithRecursion();

            second.Name = "second";
            var third = new ClassWithRecursion();

            third.Name = "third";


            first.Subclass        = second;
            second.Subclass       = first;
            first.AnotherSubclass = third;
            third.Subclass        = second;

            var sourceTree = new ObjectTreeItem(first);

            sourceTree.CreateTree();
            Trace.WriteLine(sourceTree.ToFormattedString());
        }