numpy.testing.assert_equal
- testing.assert_equal(actual, desired, err_msg='', verbose=True, *, strict=False)[source]
-
Вызывает AssertionError, если два объекта не равны.
Даны два объекта (скаляры, списки, кортежи, словари или массивы NumPy), проверяет, что все элементы этих объектов равны. Исключение возникает при первом несовпадении значений.
Эта функция обрабатывает сравнения NaN так, как будто NaN — это «обычное» число. То есть, AssertionError не генерируется, если в обоих объектах в одинаковых позициях находятся NaN. Это отличается от стандарта IEEE для NaN, который гласит, что сравнение NaN с любым другим значением должно возвращать False.
- Параметры:
-
- actualarray_like
-
Объект для проверки.
- desiredarray_like
-
Ожидаемый объект.
- err_msgstr, необязательно
-
Сообщение об ошибке, которое будет выведено в случае неудачи.
- verbosebool, необязательно
-
Если True, несовпадающие значения добавляются в сообщение об ошибке.
- strictbool, необязательно
-
Если True и один из
actualиdesiredаргументов является массивом, генерируетAssertionError, когда форма или тип данных аргументов не совпадают. Если ни один из аргументов не является массивом, этот параметр не влияет.Новая версия в версии 2.0.0.
- Возбуждает:
-
- AssertionError
-
Если actual и desired не равны.
Замечания
По умолчанию, когда один из
actualиdesiredявляется скаляром, а другой — массивом, функция проверяет, что каждый элемент массива равен скаляру. Это поведение можно отключить, установивstrict==True.Примеры
>>> np.testing.assert_equal([4, 5], [4, 6]) Traceback (most recent call last): ... AssertionError: Items are not equal: item=1 ACTUAL: 5 DESIRED: 6Следующее сравнение не вызывает исключения. В входных данных присутствуют NaN, но они находятся в одинаковых позициях.
>>> np.testing.assert_equal(np.array([1.0, 2.0, np.nan]), [1, 2, np.nan])
Как указано в разделе «Замечания»,
assert_equalимеет специальную обработку для скаляров, когда один из аргументов является массивом. Здесь тест проверяет, что каждое значение вxравно 3:>>> x = np.full((2, 5), fill_value=3) >>> np.testing.assert_equal(x, 3)
Используйте
strict, чтобы вызвать AssertionError при сравнении скаляра с массивом другой формы:>>> np.testing.assert_equal(x, 3, strict=True) Traceback (most recent call last): ... AssertionError: Arrays are not equal (shapes (2, 5), () mismatch) ACTUAL: array([[3, 3, 3, 3, 3], [3, 3, 3, 3, 3]]) DESIRED: array(3)Параметр
strictтакже гарантирует соответствие типов данных массивов:>>> x = np.array([2, 2, 2]) >>> y = np.array([2., 2., 2.], dtype=np.float32) >>> np.testing.assert_equal(x, y, strict=True) Traceback (most recent call last): ... AssertionError: Arrays are not equal (dtypes int64, float32 mismatch) ACTUAL: array([2, 2, 2]) DESIRED: array([2., 2., 2.], dtype=float32)
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.testing.assert_equal.html