Всем привет. На данный момент тест для проверки создает несбалансированное дерево следующим образом:
IntTreeNode root = IntTreeHelper.createNode(10);
root = IntTreeHelper.addNode(root, -2);
root = IntTreeHelper.addNode(root, 1);
......................................... и т.д.
Т.е. используя метод addNode. Такая реализация теста НЕ позволяет использовать, сразу на месте, в методе addNode проверку на сбалансированность дерева.
Подробней о чем речь:
логика метода addNode с проверкой на месте
Получаем List values дерева методом getSortedList(IntTreeNode root).
Добавляем в List новое value.
Сразу генерируем сбалансированное дерево с новым значением методом: generateBalanceTree()
Выдаем результат метода addNode
При такой реализации addNode, метод теста needBalancingOnNonBalancedTree() будет всегда, и в данный момент, выдавать ошибки.
Потому что для создания дерева он использует метод addNode, который, в описанной выше реализации, НЕ будет генерировать для него несбалансированное дерево.
Предлагаю заменить создание несбалансированного дерева, в тестах, для метода needBalancingOnNonBalancedTree(), без использования метода addNode, через new:
Всем привет. На данный момент тест для проверки создает несбалансированное дерево следующим образом: IntTreeNode root = IntTreeHelper.createNode(10); root = IntTreeHelper.addNode(root, -2); root = IntTreeHelper.addNode(root, 1); ......................................... и т.д.
Т.е. используя метод addNode. Такая реализация теста НЕ позволяет использовать, сразу на месте, в методе addNode проверку на сбалансированность дерева. Подробней о чем речь: логика метода addNode с проверкой на месте
При такой реализации addNode, метод теста needBalancingOnNonBalancedTree() будет всегда, и в данный момент, выдавать ошибки. Потому что для создания дерева он использует метод addNode, который, в описанной выше реализации, НЕ будет генерировать для него несбалансированное дерево. Предлагаю заменить создание несбалансированного дерева, в тестах, для метода needBalancingOnNonBalancedTree(), без использования метода addNode, через new:
IntTreeNode node2 = new IntTreeNode(1, 1, 1, 1, 1, null, null); IntTreeNode node1 = new IntTreeNode(-2, -1, 2, 2, 1, null, node2); IntTreeNode root = new IntTreeNode(10, 9, 3, 3, 1, node1, null);