def test_testCase(self): for Sol in [Solution1()]: func = Sol.recoverTree self.assertEqual(serialize(func(deserialize("[1,3,null,null,2]"))), serialize(deserialize("[3,1,null,null,2]"))) self.assertEqual( serialize(func(deserialize("[3,1,4,null,null,2]"))), serialize(deserialize("[2,1,4,null,null,3]")))
def test_testCase(self): for Sol in [Solution1()]: func = Sol.insertIntoBST root = deserialize("[4,2,7,1,3]") self.assertEqual(serialize(func(root, 5)), serialize(deserialize("[4,2,7,1,3,5]"))) root = deserialize("[40,20,60,10,30,50,70]") self.assertEqual( serialize(func(root, 25)), serialize(deserialize("[40,20,60,10,30,50,70,null,null,25]")))
def test_testCase(self): for Sol in [Solution1(),Solution2()]: func = Sol.subtreeWithAllDeepest self.assertEqual(serialize(func(deserialize("[3,5,1,6,2,0,8,1,null,7,4]"))), serialize(deserialize('[5,6,2,1,null,7,4]')))
def test_testCase(self): for Sol in [Solution1()]: func = Sol.searchBST root = deserialize("[4,2,7,1,3]") self.assertEqual(serialize(func(root, 2)), serialize(deserialize("[2,1,3]")))
def test_testCase(self): for Sol in [Solution1()]: func = Sol.constructFromPrePost self.assertEqual( serialize(func([1, 2, 4, 5, 3, 6, 7], [4, 5, 2, 6, 7, 3, 1])), serialize(deserialize("[1,2,3,4,5,6,7]")))
def test_testCase(self): for Sol in [Solution1(), Solution2(), Solution3()]: func = Sol.invertTree self.assertEqual(serialize(func(deserialize('[4,2,7,1,3,6,9]'))), serialize(deserialize('[4,7,2,9,6,3,1]')))