Как увеличить время ожидания для одного теста в мокко

Обход постопера выглядит следующим образом:

visit left
visit right
print current.

И так:

visit left
print current
visit right

Возьмем пример:

        7
     /     \
    3      10
   / \     / \
  2   5   9   12
             /
            11

Inorder is: 2 3 5 7 9 10 11 12

Postorder is: 2 5 3 9 11 12 10 7

Итерировать массив послепорядка в обратном порядке и продолжать разделять массив порядка, где это значение. Сделайте это рекурсивно, и это будет ваше дерево. Например:

current = 7, split inorder at 7: 2 3 5 | 9 10 11 12

Посмотрите знакомо? То, что слева, - это левое поддерево, а справа - правое поддерево, в псевдослучайном порядке по отношению к структуре BST. Однако теперь вы знаете, что такое ваш корень. Теперь сделаем то же самое для двух половинок. Найдите первое вхождение (с конца) элемента из левой половины в обход послепорядка. Это будет 3. Разделите вокруг 3:

current = 3, split inorder at 3: 2 | 5 ...

Итак, вы знаете, что ваше дерево выглядит так:

   7
 /
3

Это основано на фактах, что значение в обход послепорядка всегда появляется после появления его детей и что значение в обходном пути будет отображаться между его дочерними значениями.

386
задан MiJyn 15 March 2016 в 15:31
поделиться

1 ответ

Это работало на меня! Не удалось найти, что что-либо заставило его работать с прежде ()

describe("When in a long running test", () => {
  it("Should not time out with 2000ms", async () => {
    let service = new SomeService();
    let result = await service.callToLongRunningProcess();
    expect(result).to.be.true;
  }).timeout(10000); // Custom Timeout 
});
0
ответ дан 22 November 2019 в 23:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: