вернуться к уроку

Добавьте тест к задаче

важность: 5

Добавьте к предыдущей задаче тесты, которые будут проверять, что любое число, кроме нуля, в нулевой степени равно 1, а ноль в нулевой степени даёт NaN (это математически корректно, результат 00 не определён).

При необходимости, исправьте саму функцию pow(), чтобы тесты проходили без ошибок.

Открыть песочницу с тестами для задачи.

Новый тест может быть, к примеру, таким:

it("любое число в степени 0 равно 1", function() {
  assert.equal(pow(123, 0), 1);
});

Конечно, желательно проверить на нескольких числах.

Поэтому лучше будет создать блок describe, аналогичный тому, что мы делали для произвольных чисел:

describe("любое число, кроме нуля, в степени 0 равно 1", function() {

  function makeTest(x) {
    it("при возведении " + x + " в степень 0 результат: 1", function() {
      assert.equal(pow(x, 0), 1);
    });
  }

  for (var x = -5; x <= 5; x += 2) {
    makeTest(x);
  }

});

И не забудем добавить отдельный тест для нуля:

...
it("ноль в нулевой степени даёт NaN", function() {
  assert( isNaN(pow(0, 0)), "0 в степени 0 не NaN");
});
...

Открыть решение с тестами в песочнице.