Написание Модульных тестов
Подробнее о тест кейсах можно почитать тут
Задание 1
Написать тест кейсы для функции addPositive
1export const addPositive = array => {2 let sum = 03 array.forEach(number => {4 if (number > 0) {5 sum += Number(number)6 }7 })8 return sum9}
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 number10 }11}
1.Функция должна возвращать Fizz
если число кратное 3
.
2.Функция должна возвращать Buzz
если число кратное 5
.
3.Функция должна возвращать FizzBuzz
если число кратное 3
и 5
.
4.Функция должна возвращать число если ни одно из условий не отработало.
Задание 3
написать функцию leapYear
и тест кейсы для нее
Напишите функцию leapYear
, которая принимает год и возвращает true
/false
, указывающее, является ли год високосным.
Годы, которые делятся на 4, являются високосными, но годы, которые делятся на 100, не являются високосными, а годы, которые делятся на 400, являются високосными годами.
Написать как минимум 4 тест кейса
Задание 4
Написать функцию gradeCaclulator
и тест кейсы для нее
Функция gradeCaclulator
должна принимать число(или строку которая может быть преобразовано в число)
и возвращать следующее
Number | Grade |
---|---|
90 - 100 | A |
82 - 89 | B |
75-81 | C |
64-74 | D |
60-63 | E |
35-59 | FX |
1-34 | F |
Возвращать undefined
если аргумент не возможно преобразовать к числу.
1function gradeCaclulator(number) {}
Написать как минимум 3 тест кейса
Задание 5
Написать функцию repeatingChar
и тест кейсы для нее
- Функция
repeatingChar
должна принимать строку. - Функция должна находить первый последовательно повторяющийся символ и возвращать его индекс иначе вернуть
-1
- Функция должна игнорировать любые пробелы и не учитывать регистр - трактовать «a» как эквивалент «A».
1repeatingChar("I AAM") // 42repeatingChar("I AaM") // 43repeatingChar("I AaM") // 34repeatingChar("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]) // 52maxOnes([0, 1, 1, 0, 0, 2]) // -1
Написать как минимум 3 тест кейса