Я хочу проверить функцию, которая выводит заголовок в градусах, который является числом в интервале [0, 360]. Поскольку результатом является число с плавающей запятой, сравнение фактического результата с ожидаемым с помощью unittest.assertEqual()
не работает. unittest.assertAlmostEqual()
лучше, поскольку он обеспечивает допуск. Этот подход работает для заголовка, который не близок к 0 градусам.Python unittesting: проверьте, равны ли два угла равны
Вопрос: Каков правильный способ проверки заголовков, ожидаемое значение которых составляет 0 градусов? assertAlmostEquals()
будут включать только углы, которые немного больше 0 градусов, но будут пропускать те, которые немного меньше 0, то есть 360 градусов ...
Определите собственную вспомогательную функцию, которая принимает два угла и возвращает абс разности – matcheek
Всякий раз, когда вы сравниваете числа с плавающей точкой, вы должны включать в себя " epsilon ', небольшое число, ниже которого вещи считаются для всех целей и целей равными нулю. Пример: 1E-6 или 1E-8 и т. Д. 'A == b, если abs (a - b) <= epsilon'. Все становится сложным, если оба значения приближаются к нулю. – Pierre