Skip to content

std.assert ​

Модуль утверждений. Самый часто используемый инструмент в тестах и примерах.

yaoxiang
use std.assert

Список функций ​

ФункцияСигнатура
assert(cond: Bool, ?msg: String) -> Void

Функции ​

assert ​

yaoxiang
assert: (cond: Bool, ?msg: String) -> Void

Утверждает, что cond истинно.

  • cond — проверяемое булево выражение
  • msg — необязательное сообщение, ? означает, что его можно опустить; при невыполнении условия выводится вместе с диагностикой

Возврат: при выполнении условия возвращает Void, выполнение не прерывается. Ошибка: при ложном условии выбрасывается E6005 (сбой утверждения), программа завершается с ненулевым кодом.

yaoxiang
use std.assert

main: () -> Void = {
    assert(1 > 0)
    assert(1 > 0, "этот литеральный assert обязательно выполняется")
}

Утверждение — основное средство проверки в тестовых корпусах — src/std/tests/*.yx и tests/yaoxiang/** работают по принципу: если assert завершается ошибкой, процесс сообщает об ошибке:

yaoxiang
use std.assert
use std.list

main: () -> Void = {
    list.len([1, 2, 3]) == 3
    assert(list.len([1, 2, 3]) == 3, "len == 3")
}

Связанные материалы ​