|
1 | 1 | package com.fishercoder;
|
2 | 2 |
|
3 | 3 | import com.fishercoder.common.classes.TreeNode;
|
| 4 | +import com.fishercoder.common.utils.TreeUtils; |
4 | 5 | import com.fishercoder.solutions._572;
|
5 | 6 | import org.junit.BeforeClass;
|
6 | 7 | import org.junit.Test;
|
7 | 8 |
|
| 9 | +import java.util.Arrays; |
| 10 | + |
8 | 11 | import static org.junit.Assert.assertEquals;
|
9 | 12 |
|
10 |
| -/** |
11 |
| - * Created by fishercoder on 5/6/17. |
12 |
| - */ |
13 | 13 | public class _572Test {
|
14 | 14 | private static _572.Solution1 solution1;
|
| 15 | + private static _572.Solution2 solution2; |
15 | 16 | private static boolean expected;
|
16 |
| - private static boolean actual; |
| 17 | + private static TreeNode root; |
| 18 | + private static TreeNode subRoot; |
17 | 19 |
|
18 | 20 | @BeforeClass
|
19 | 21 | public static void setup() {
|
20 | 22 | solution1 = new _572.Solution1();
|
| 23 | + solution2 = new _572.Solution2(); |
21 | 24 | }
|
22 | 25 |
|
23 | 26 | @Test
|
24 | 27 | public void test1() {
|
25 |
| - TreeNode s = new TreeNode(3); |
26 |
| - s.left = new TreeNode(4); |
27 |
| - s.right = new TreeNode(5); |
28 |
| - s.left.left = new TreeNode(1); |
29 |
| - s.left.right = new TreeNode(2); |
30 |
| - s.left.right.left = new TreeNode(0); |
31 |
| - |
32 |
| - TreeNode t = new TreeNode(4); |
33 |
| - t.left = new TreeNode(1); |
34 |
| - t.right = new TreeNode(2); |
35 |
| - expected = false; |
36 |
| - actual = solution1.isSubtree(s, t); |
37 |
| - assertEquals(expected, actual); |
| 28 | + root = TreeUtils.constructBinaryTree(Arrays.asList(3, 4, 5, 1, 2)); |
| 29 | + TreeUtils.printBinaryTree(root); |
| 30 | + subRoot = TreeUtils.constructBinaryTree(Arrays.asList(4, 1, 2)); |
| 31 | + expected = true; |
| 32 | + assertEquals(expected, solution1.isSubtree(root, subRoot)); |
| 33 | + assertEquals(expected, solution2.isSubtree(root, subRoot)); |
38 | 34 | }
|
39 | 35 |
|
40 | 36 | @Test
|
41 | 37 | public void test2() {
|
42 |
| - TreeNode s = new TreeNode(3); |
43 |
| - s.left = new TreeNode(4); |
44 |
| - s.right = new TreeNode(5); |
45 |
| - s.left.left = new TreeNode(1); |
46 |
| - s.left.right = new TreeNode(2); |
47 |
| - |
48 |
| - TreeNode t = new TreeNode(4); |
49 |
| - t.left = new TreeNode(1); |
50 |
| - t.right = new TreeNode(2); |
51 |
| - expected = true; |
52 |
| - actual = solution1.isSubtree(s, t); |
53 |
| - assertEquals(expected, actual); |
| 38 | + root = TreeUtils.constructBinaryTree(Arrays.asList(3, 4, 5, 1, 2, null, null, null, null, 0)); |
| 39 | + TreeUtils.printBinaryTree(root); |
| 40 | + subRoot = TreeUtils.constructBinaryTree(Arrays.asList(4, 1, 2)); |
| 41 | + expected = false; |
| 42 | + assertEquals(expected, solution1.isSubtree(root, subRoot)); |
| 43 | + assertEquals(expected, solution2.isSubtree(root, subRoot)); |
54 | 44 | }
|
| 45 | + |
55 | 46 | }
|
0 commit comments