public void Problem8_InlineData_ReturnsExpectedInt(string serializedNodeTree, int expectedResult)
        {
            var nodeTree = Problems1Through25.Problem3Deserialize(serializedNodeTree);

            int actualResult = Problems1Through25.Problem8(nodeTree);

            Assert.Equal(expectedResult, actualResult);
        }
        public void Problem3Deserialize_RootIsNull_ReturnsExpectedTreeOfBinaryNodes()
        {
            BinaryNode expectedNodeTree = null;

            const string serializedNodeTree = "null,";

            BinaryNode deserializedNodeTree = Problems1Through25.Problem3Deserialize(serializedNodeTree);

            Assert.Equal(expectedNodeTree, deserializedNodeTree);
        }
        public void Problem3Deserialize_RootOnlyTree_ReturnsExpectedTreeOfBinaryNodes()
        {
            var expectedNodeTree = new BinaryNode(0);

            const string serializedNodeTree = "0,null,null,";

            BinaryNode deserializedNodeTree = Problems1Through25.Problem3Deserialize(serializedNodeTree);

            Assert.Equal(expectedNodeTree, deserializedNodeTree);
        }
        public void Problem3Deserialize_InvalidString_ReturnsExpectedTreeOfBinaryNodes()
        {
            BinaryNode expectedNodeTree = null;

            const string serializedNodeTree = "Hello,1234";

            BinaryNode deserializedNodeTree = Problems1Through25.Problem3Deserialize(serializedNodeTree);

            Assert.Equal(expectedNodeTree, deserializedNodeTree);
        }
        public void Problem3Deserialize_Full2LayeredTree_ReturnsExpectedTreeOfBinaryNodes()
        {
            var expectedNodeTree =
                new BinaryNode(
                    0,
                    new BinaryNode(1),
                    new BinaryNode(2));

            const string serializedNodeTree = "0,1,null,null,2,null,null,";

            BinaryNode deserializedNodeTree = Problems1Through25.Problem3Deserialize(serializedNodeTree);

            Assert.Equal(expectedNodeTree, deserializedNodeTree);
        }