public void Print_WhenCalled_PrintByTraversalMode(BTreeTraversalMode mode, string expected) { //Arrange var tree = new BTree <int?>(1); tree.Root.Left = new BTreeNode <int?>(2); tree.Root.Right = new BTreeNode <int?>(3); Logger.Debug(mode.ToString()); //Act var result = tree.Print(mode); Logger.Debug(result); //Assert Assert.Equal(expected: expected, actual: result); }
public string Print(BTreeTraversalMode mode = BTreeTraversalMode.InOrder) { if (Root == null) { throw new NullReferenceException("no data"); } switch (mode) { case BTreeTraversalMode.InOrder: return(PrintInOrder(Root)); case BTreeTraversalMode.PreOrder: return(PrintPreOrder(Root)); case BTreeTraversalMode.PostOrder: return(PrintPostOrder(Root)); default: throw new ArgumentOutOfRangeException(nameof(mode), mode, null); } }