Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
2 / 2 / 0
Регистрация: 24.02.2017
Сообщений: 42

Параметризация тестов с логическими операторами

04.07.2022, 15:57. Показов 1231. Ответов 1

Студворк — интернет-сервис помощи студентам
Добрый день!
Прошу помочь с пониманием вывода теста с применением параметризации, если на выходе указываем True или False...
Есть функция, определяющая возможные длины сторон треугольника:
Python
1
2
3
4
5
6
7
8
9
10
def triangle(x, y, z):
    a, b, c = x, y, z
    sumside = a, b, c
    if a + b < c or a + c < b or b + c < a or (a <= 0 or b <= 0 or c <= 0) or sum(sumside)/2 == max(sumside):
        return False
    else:
        return True
 
print(triangle(4, 5, 9))
# На выходе => False
Далее я сделал тест для проверки результатов этой функции:
Python
1
2
3
4
5
6
@pytest.mark.parametrize("x", [4])
@pytest.mark.parametrize("y", [5])
@pytest.mark.parametrize("z", [9])
def test_triangle(x, y, z):
    triangle(x, y, z)
    assert True
Однако тест выводит:
Python
1
# test_parametriz.py::test_triangle[9-5-4] PASSED [100%]
Хотя должен по идее => FAILED.
Подскажите пож-та, что я не так делаю? ))

Добавлено через 2 часа 36 минут
В таком виде работает:
Python
1
2
def test_triangle(x, y, z):
    assert True == triangle(x, y, z)
Но знак "==" подчёркнут в Python... Ошибка PEP8 E712 => не сравнивать лог. операторы...
Но, а как ещё можно? ))

Добавлено через 1 час 13 минут
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.07.2022, 15:57
Ответы с готовыми решениями:

работа с логическими операторами
public class myclass { public static void main(String args) { int b1 = 0xe; //14 or 1110 int b2 = 0x9; //9 or 1001...

Заменить сравнения логическими операциями (или операторами)
Как заменить комбинацией логических операций и операторов (%,&amp;, сдвиги, сложение, умножение) вот такой код? if (x == 0) xx = 0; if...

Создать любую программу с несколькими логическими операторами
Помогите создать программу с несколькими логическими операторами

1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.07.2022, 17:05
Лучший ответ Сообщение было отмечено vbYesNo как решение

Решение

Цитата Сообщение от vbYesNo Посмотреть сообщение
Но, а как ещё можно? ))
Один знак "=" написать...

Кликните здесь для просмотра всего текста

assert triangle(x, y, z) is True

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.07.2022, 17:05
Помогаю со студенческими работами здесь

Поиск текста в массиве DOC (с логическими операторами), переименование, копирование
Уважаемые программисты! Очень нужен макроc (скрипт) или программа, который решает такую задачу: Исходные данные: массив...

Не могу правильно понять какие результаты возвратят функции с логическими операторами
Добрый день! Сам программирую на С++, с Lua знаком буквально 3 дня. У меня есть пример работы функции, написанной на Lua, эту функцию я...

Классы, параметризация классов, параметризация запросов
Доброго времени суток Уважаемые! Помогите пожалуйста с кодом. Суть в чем. Есть класс, в котором есть методы для работы с запросами. ...

Задачи основ php с условными операторами и операторами цикла
1) Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то...

Программа для тестов - как грамотно подойти к редактированию тестов
Что я пишу: Вот пишу приложение для создания тестов, dll с классами самих тестов и приложение, которое будет уже отображать эти тесты,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru