Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- Это индивидуальное задание на стажировку ВКонтакте. Требуется протестировать
- три метода str и три метода set, как минимум один из тестов для каждой
- структуры должен быть параметризирован
- """
- import pytest
- """
- Тестируем методы str
- """
- # Тестируем split
- @pytest.mark.parametrize("got, separator, expected", [
- ("key1.value1,key2.value2", ",", ["key1.value1", "key2.value2"]),
- ("key1.value1,key2.value2", ".", ["key1", "value1,key2", "value2"]),
- ("key1.value1,key2.value2", ":", ["key1.value1,key2.value2"]),
- ])
- def test_split(got, separator, expected):
- assert got.split(separator) == expected
- # Тестируем strip
- @pytest.mark.parametrize("got, expected", [
- ("\nvalue\n", "value"),
- (" value ", "value"),
- (" \n value \n ", "value"),
- ])
- def test_strip(got, expected):
- assert got.strip() == expected
- # Тестируем невозможность прибавить число к строке, негативный тест,
- # проверка вызова корректного исключения
- def test_str_immutability():
- test_str = "123"
- with pytest.raises(TypeError):
- test_str += 2
- """
- Тестируем методы set
- """
- # Тестируем функционал добавления элемента в множество
- def test_add_elements_to_set():
- my_set = set()
- my_set.add(1)
- my_set.add(2)
- my_set.add(3)
- assert 1 in my_set
- assert 2 in my_set
- assert 3 in my_set
- # Тестируем функционал удаления элемента из множества
- def test_remove_elements_from_set():
- my_set = {1, 2}
- my_set.remove(1)
- assert 1 not in my_set
- assert 2 in my_set
- assert my_set == {2}
- # Тестируем функционал разности множеств
- def test_set_difference():
- set1 = {1, 2, 3}
- set2 = {3, 4, 5}
- result = set1.difference(set2)
- assert result == {1, 2}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement