Back to questions
Middle+
3
Какие unit-тесты вы бы написали для функции FizzBuzz?
Companies where asked
Ifellow
Answer from AI
sobes.tech AI
Для функции FizzBuzz стоит написать следующие unit-тесты:
- Проверка деления на 3: для входных значений, кратных 3, функция возвращает "Fizz".
- Проверка деления на 5: для входных значений, кратных 5, функция возвращает "Buzz".
- Проверка деления на 15: для входных значений, кратных 15, функция возвращает "FizzBuzz".
- Проверка чисел, не кратных 3 или 5: функция возвращает строковое представление числа.
- Проверка граничных значений, например 0 или отрицательных чисел, если функция их поддерживает.
Пример на JavaScript:
function fizzBuzz(n) {
if (n % 15 === 0) return "FizzBuzz";
if (n % 3 === 0) return "Fizz";
if (n % 5 === 0) return "Buzz";
return n.toString();
}
test('returns Fizz for multiples of 3', () => {
expect(fizzBuzz(3)).toBe('Fizz');
expect(fizzBuzz(6)).toBe('Fizz');
});
test('returns Buzz for multiples of 5', () => {
expect(fizzBuzz(5)).toBe('Buzz');
expect(fizzBuzz(10)).toBe('Buzz');
});
test('returns FizzBuzz for multiples of 15', () => {
expect(fizzBuzz(15)).toBe('FizzBuzz');
expect(fizzBuzz(30)).toBe('FizzBuzz');
});
test('returns number as string for other numbers', () => {
expect(fizzBuzz(7)).toBe('7');
expect(fizzBuzz(8)).toBe('8');
});