Advertisement
Guest User

Untitled

a guest
Oct 6th, 2015
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.17 KB | None | 0 0
  1. import org.junit.Test;
  2. import org.junit.runner.Result;
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.Collections;
  6. import java.util.List;
  7.  
  8. import static org.junit.Assert.*;
  9.  
  10. /**
  11. * Created by WIT-PC on 5/10/2558.
  12. */
  13. public class TreeCellTest {
  14. private TreeCell<Integer> createTree(){
  15. TreeCell<Integer> n1 = new TreeCell<Integer>(1);
  16. TreeCell<Integer> n2 = new TreeCell<Integer>(2);
  17. TreeCell<Integer> n3 = new TreeCell<Integer>(3);
  18. TreeCell<Integer> n4 = new TreeCell<Integer>(4);
  19. TreeCell<Integer> n5 = new TreeCell<Integer>(5);
  20. TreeCell<Integer> n6 = new TreeCell<Integer>(6);
  21. TreeCell<Integer> n7 = new TreeCell<Integer>(7);
  22. TreeCell<Integer> n8 = new TreeCell<Integer>(8);
  23. TreeCell<Integer> n9 = new TreeCell<Integer>(9);
  24. TreeCell<Integer> n10 = new TreeCell<Integer>(10);
  25. TreeCell<Integer> n11 = new TreeCell<Integer>(11);
  26. TreeCell<Integer> n12 = new TreeCell<Integer>(12);
  27. TreeCell<Integer> n13 = new TreeCell<Integer>(13);
  28.  
  29. n7.setLeft(n3);
  30. n3.setLeft(n1);
  31. n1.setRight(n2);
  32. n3.setRight(n5);
  33. n5.setLeft(n4);
  34. n5.setRight(n6);
  35.  
  36. n7.setRight(n10);
  37. n10.setLeft(n8);
  38. n8.setRight(n9);
  39. n10.setRight(n12);
  40. n12.setLeft(n11);
  41. n12.setRight(n13);
  42. return n7;
  43. }
  44. public static TreeCell insert(int x, TreeCell T) {
  45. if (T == null) return new TreeCell(x, null, null);
  46. else if (Integer.parseInt(T.getDatum().toString())>x)
  47. T.setLeft(insert(x, T.getLeft()));
  48. else
  49. T.setRight(insert(x, T.getRight()));
  50. return T;
  51. }
  52.  
  53. public static TreeCell<Integer> createTree(Integer[] array){
  54. TreeCell root = new TreeCell(array[0]);
  55. TreeCell newRoot = root;
  56. for(Integer i:array){
  57. if(i!=array[0])
  58. newRoot = insert(i,newRoot);
  59. }
  60. return root;
  61. }
  62. public static String inorder(TreeCell root) {
  63. if (root == null) return new String();
  64. return inorder(root.getLeft())+root.getDatum()+" "+inorder(root.getRight());
  65.  
  66. }
  67. public static void preorder(TreeCell root) {
  68. if (root != null) {
  69. System.out.print(root.getDatum() + " ");
  70. preorder(root.getLeft());
  71. preorder(root.getRight());
  72. }
  73. }
  74. public static String remove(Integer[] array, int x){
  75. List<Integer> list = Arrays.asList(array);
  76. Collections.sort(list);
  77. String s=new String();
  78. for(Integer i:list){
  79. if(!i.equals(x)) {
  80. s += i + " ";
  81. }
  82. }
  83. return s;
  84. }
  85. @Test
  86. public void delete1(){
  87. for(int i =1;i<=13;i++) {
  88. Integer[] array1 = new Integer[]{1,2,3,4,5,6,7,8,9,10,11,12,13};
  89. TreeCell treeCell = createTree();
  90. treeCell = TreeCell.delete(i, treeCell);
  91. // System.out.println(remove(array1,i));
  92. assertEquals( remove(array1, i),inorder(treeCell));
  93. }
  94. }
  95. @Test
  96. public void delete2(){
  97. Integer[] array = new Integer[]{2,3,4,5,9,7,8,11,15,16,84,13,85};
  98. for(int i =0;i<array.length;i++) {
  99. array = new Integer[]{2,3,4,5,9,7,8,11,15,16,84,13,85};
  100. TreeCell treeCell = createTree(array);
  101. System.out.println("test 2 =>"+inorder(treeCell));
  102. System.out.println(array[i]);
  103. treeCell = TreeCell.delete(array[i], treeCell);
  104.  
  105. // System.out.println(Arrays.toString(array));
  106. // System.out.println(remove(array, array[i]));
  107. assertEquals(remove(array, array[i]),inorder(treeCell));
  108. }
  109. }
  110. @Test
  111. public void delete3(){
  112. Integer[] array = new Integer[]{15,12,13,4,17,5,19,11};
  113. for(int i =0;i<array.length;i++) {
  114. array = new Integer[]{15,12,13,4,17,5,19,11};
  115. TreeCell treeCell = createTree(array);
  116. System.out.println("test 3 =>"+inorder(treeCell));
  117. System.out.println(array[i]);
  118. treeCell = TreeCell.delete(array[i], treeCell);
  119.  
  120. System.out.println(Arrays.toString(array));
  121. // System.out.println(remove(array, array[i]));
  122. assertEquals(remove(array, array[i]),inorder(treeCell));
  123. }
  124. }
  125. @Test
  126. public void delete4(){
  127. Integer[] array = new Integer[]{15,12,11,10,17,2,4,19,20};
  128. for(int i =0;i<array.length;i++) {
  129. array = new Integer[]{15,12,11,10,17,2,4,19,20};
  130. TreeCell treeCell = createTree(array);
  131. System.out.println("test 3 =>"+inorder(treeCell));
  132. System.out.println(array[i]);
  133. treeCell = TreeCell.delete(array[i], treeCell);
  134.  
  135. System.out.println(Arrays.toString(array));
  136. // System.out.println(remove(array, array[i]));
  137. assertEquals(remove(array, array[i]),inorder(treeCell));
  138. }
  139. }
  140.  
  141. public static void main(String[] args) {
  142. Class<?> testclass = TreeCellTest.class;
  143. Result result = org.junit.runner.JUnitCore.runClasses( testclass );
  144. }
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement