Вопрос пользователя:
Ответ нейросети:
Код класса string_utils.py:
class StringUtils:
@staticmethod
def reverse_string(input_string):
return input_string[::-1]
@staticmethod
def remove_whitespace(input_string):
return input_string.replace(" ", "")
@staticmethod
def is_palindrome(input_string):
return input_string == input_string[::-1]
Файл test_string_utils.py:
import pytest
from string_utils import StringUtils
def test_reverse_string():
assert StringUtils.reverse_string("hello") == "olleh"
assert StringUtils.reverse_string("12345") == "54321"
def test_remove_whitespace():
assert StringUtils.remove_whitespace("hello world") == "helloworld"
assert StringUtils.remove_whitespace(" 123 45 ") == "12345"
def test_is_palindrome():
assert StringUtils.is_palindrome("radar") == True
assert StringUtils.is_palindrome("hello") == False
def test_empty_string():
assert StringUtils.reverse_string("") == ""
assert StringUtils.remove_whitespace("") == ""
assert StringUtils.is_palindrome("") == True
def test_string_with_whitespace():
assert StringUtils.reverse_string("hello world") == "dlrow olleh"
assert StringUtils.remove_whitespace(" 123 45 ") == "12345"
assert StringUtils.is_palindrome("nurses run") == True
def test_none_input():
with pytest.raises(TypeError):
StringUtils.reverse_string(None)
with pytest.raises(TypeError):
StringUtils.remove_whitespace(None)
with pytest.raises(TypeError):
StringUtils.is_palindrome(None)
def test_empty_list_input():
with pytest.raises(TypeError):
StringUtils.reverse_string([])
with pytest.raises(TypeError):
StringUtils.remove_whitespace([])
with pytest.raises(TypeError):
StringUtils.is_palindrome([])
Для запуска тестов необходимо установить библиотеку pytest:
pip install pytest
Затем запустить тесты:
pytest test_string_utils.py
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.