Advertisement
copysiper

Untitled

Mar 17th, 2024
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.15 KB | Source Code | 0 0
  1. """
  2.  
  3. Это индивидуальное задание на стажировку ВКонтакте. Требуется протестировать
  4. три метода str и три метода set, как минимум один из тестов для каждой
  5. структуры должен быть параметризирован
  6.  
  7. """
  8.  
  9. import pytest
  10.  
  11. """
  12. Тестируем методы str
  13. """
  14.  
  15.  
  16. # Тестируем split
  17. @pytest.mark.parametrize("got, separator, expected", [
  18.     ("key1.value1,key2.value2", ",", ["key1.value1", "key2.value2"]),
  19.     ("key1.value1,key2.value2", ".", ["key1", "value1,key2", "value2"]),
  20.     ("key1.value1,key2.value2", ":", ["key1.value1,key2.value2"]),
  21. ])
  22. def test_split(got, separator, expected):
  23.     assert got.split(separator) == expected
  24.  
  25.  
  26. # Тестируем strip
  27. @pytest.mark.parametrize("got, expected", [
  28.     ("\nvalue\n", "value"),
  29.     ("    value    ", "value"),
  30.     ("  \n  value   \n  ", "value"),
  31. ])
  32. def test_strip(got, expected):
  33.     assert got.strip() == expected
  34.  
  35.  
  36. # Тестируем невозможность прибавить число к строке, негативный тест,
  37. # проверка вызова корректного исключения
  38. def test_str_immutability():
  39.     test_str = "123"
  40.     with pytest.raises(TypeError):
  41.         test_str += 2
  42.  
  43.  
  44. """
  45. Тестируем методы set
  46. """
  47.  
  48.  
  49. # Тестируем функционал добавления элемента в множество
  50. def test_add_elements_to_set():
  51.     my_set = set()
  52.     my_set.add(1)
  53.     my_set.add(2)
  54.     my_set.add(3)
  55.     assert 1 in my_set
  56.     assert 2 in my_set
  57.     assert 3 in my_set
  58.  
  59.  
  60. # Тестируем функционал удаления элемента из множества
  61. def test_remove_elements_from_set():
  62.     my_set = {1, 2}
  63.     my_set.remove(1)
  64.     assert 1 not in my_set
  65.     assert 2 in my_set
  66.     assert my_set == {2}
  67.  
  68.  
  69. # Тестируем функционал разности множеств
  70. def test_set_difference():
  71.     set1 = {1, 2, 3}
  72.     set2 = {3, 4, 5}
  73.     result = set1.difference(set2)
  74.     assert result == {1, 2}
  75.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement