HTML / CSSJavaScriptNode jsПаттерны проектированияПрактические

Написание Модульных тестов

Подробнее о тест кейсах можно почитать тут

Задание 1

Написать тест кейсы для функции addPositive

1export const addPositive = array => {
2 let sum = 0
3 array.forEach(number => {
4 if (number > 0) {
5 sum += Number(number)
6 }
7 })
8 return sum
9}

1.Если массив пуст функция должна вернуть 0 2.Функция должна возвращать 0 если массив содержит [-1,-20,-30] 3.Функция должна возвращать 0 если массив содержит не числовые значения 4.Функция должна возвращать ожидаемую сумму позитивных чисел.

Задание 2

Написать тест кейсы для функции fizzBuzz

1const fizzBuzz = number => {
2 if (number % 15 === 0) {
3 return "FizzBuzz"
4 } else if (number % 3 === 0) {
5 return "Fizz"
6 } else if (number % 5 === 0) {
7 return "Buzz"
8 } else {
9 return number
10 }
11}

1.Функция должна возвращать Fizz если число кратное 3. 2.Функция должна возвращать Buzz если число кратное 5. 3.Функция должна возвращать FizzBuzz если число кратное 3 и 5. 4.Функция должна возвращать число если ни одно из условий не отработало.

Задание 3

написать функцию leapYear и тест кейсы для нее

Напишите функцию leapYear, которая принимает год и возвращает true/false, указывающее, является ли год високосным.

Годы, которые делятся на 4, являются високосными, но годы, которые делятся на 100, не являются високосными, а годы, которые делятся на 400, являются високосными годами.

Написать как минимум 4 тест кейса

Задание 4

Написать функцию gradeCaclulator и тест кейсы для нее

Функция gradeCaclulator должна принимать число(или строку которая может быть преобразовано в число) и возвращать следующее

NumberGrade
90 - 100A
82 - 89B
75-81C
64-74D
60-63E
35-59FX
1-34F

Возвращать undefined если аргумент не возможно преобразовать к числу.

1function gradeCaclulator(number) {}

Написать как минимум 3 тест кейса

Задание 5

Написать функцию repeatingChar и тест кейсы для нее

  • Функция repeatingChar должна принимать строку.
  • Функция должна находить первый последовательно повторяющийся символ и возвращать его индекс иначе вернуть -1
  • Функция должна игнорировать любые пробелы и не учитывать регистр - трактовать «a» как эквивалент «A».
1repeatingChar("I AAM") // 4
2repeatingChar("I AaM") // 4
3repeatingChar("I AaM") // 3
4repeatingChar("IAaM") // 2

Написать как минимум 4 тест кейса

Задание 6

Написать функцию maxOnes и тест кейсы для нее

Функция maxOnes должна находить максимальное количество последовательных 1 в этом массиве.

  • Функция maxOnes должна принимать массив из 0 и 1.
  • Функция должна возвращать -1 если в переданном массиве есть хотя бы 1 число отличное от 1 или 0
  • Функция обрабатывать 1 и 0 как строковыми так целочисленными значениями, оба приемлемы и должны считаться эквивалентными.
1maxOnes([0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1]) // 5
2maxOnes([0, 1, 1, 0, 0, 2]) // -1

Написать как минимум 3 тест кейса

Hello