public void ToStringWithChildren_ConcatsEntriesCorrectly()
        {
            var root        = new TestEntry("root");
            var child1      = new TestEntry("child1");
            var child2      = new TestEntry("child2");
            var grandchild1 = new TestEntry("grandchild1");
            var grandchild2 = new TestEntry("grandchild2");
            var grandchild3 = new TestEntry("grandchild3");

            root.Children.Add(child1);
            root.Children.Add(child2);

            child1.Children.Add(grandchild1);
            child1.Children.Add(grandchild2);
            child2.Children.Add(grandchild3);

            string expected = String.Format(
                "{1}{0}\t{2}{0}\t\t{3}{0}\t\t{4}{0}\t{5}{0}\t\t{6}{0}",
                Environment.NewLine,
                root,
                child1,
                grandchild1,
                grandchild2,
                child2,
                grandchild3
                );

            string actual = root.ToStringWithChildren();

            Assert.AreEqual(expected, actual);
        }