public void PositivePartialLevels()
        {
            //       3
            //     /   \
            //    9     20
            //         /  \
            //        15   7
            var testNode = new BinaryTreeNode <int>(3)
            {
                Left  = new BinaryTreeNode <int>(9),
                Right = new BinaryTreeNode <int>(20)
            };

            testNode.Right.Left  = new BinaryTreeNode <int>(15);
            testNode.Right.Right = new BinaryTreeNode <int>(7);

            var expected = new List <List <int> >
            {
                new List <int> {
                    3
                },
                new List <int> {
                    20, 9
                },
                new List <int> {
                    15, 7
                }
            };

            var actual = BinaryTreeZigZagLevelOrderTraversal.DepthFirstSearch(testNode);

            CollectionAssert.AreEqual(expected[0], actual[0]);
            CollectionAssert.AreEqual(expected[1], actual[1]);
            CollectionAssert.AreEqual(expected[2], actual[2]);
        }
        public void NullRef()
        {
            var expected = new List <List <int> >();
            var actual   = BinaryTreeZigZagLevelOrderTraversal.DepthFirstSearch(null);

            CollectionAssert.AreEqual(expected, actual);
        }