public void LabeledTree_ToString() { var tree = new Tree<int>(42, new Tree<int>(19), new Tree<int>(23, new Tree<int>(7) ) ); var ltre = new LabeledTree<int>(new Label<int>(tree, new List<Match> { new Match(1) }), new LabeledTree<int>[] { new LabeledTree<int>(new Label<int>(tree.Children[0], new List<Match> { new Match(2) }), Array.Empty<LabeledTree<int>>()), new LabeledTree<int>(new Label<int>(tree.Children[1], new List<Match> { new Match(3) }), new LabeledTree<int>[] { new LabeledTree<int>(new Label<int>(tree.Children[1].Children[0], new List<Match> { new Match(4) }), Array.Empty<LabeledTree<int>>()) }), }); Assert.AreEqual("[1 (0$)] 42([2 (0$)] 19(), [3 (0$)] 23([4 (0$)] 7()))", ltre.ToString()); Assert.AreEqual(@"[1 (0$)] 42( [2 (0$)] 19(), [3 (0$)] 23( [4 (0$)] 7() ) )".Replace("\r", string.Empty), ltre.ToString(indent: 0).Replace("\r", string.Empty)); }