Kovalevskyi-Academy / Zeus

Other
2 stars 4 forks source link

AWJ W2 D0 Изменить метод теста needBalancingOnNonBalancedTree() #140

Open irekminn opened 2 years ago

irekminn commented 2 years ago

Всем привет. На данный момент тест для проверки создает несбалансированное дерево следующим образом: IntTreeNode root = IntTreeHelper.createNode(10); root = IntTreeHelper.addNode(root, -2); root = IntTreeHelper.addNode(root, 1); ......................................... и т.д.

Т.е. используя метод addNode. Такая реализация теста НЕ позволяет использовать, сразу на месте, в методе addNode проверку на сбалансированность дерева. Подробней о чем речь: логика метода addNode с проверкой на месте

  1. Получаем List values дерева методом getSortedList(IntTreeNode root).
  2. Добавляем в List новое value.
  3. Сразу генерируем сбалансированное дерево с новым значением методом: generateBalanceTree()
  4. Выдаем результат метода 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);

seralekseenko commented 2 years ago

С первого взгляда этого не видно в тесте. Нужно сесть и разобраться.