Эти сравнения показаны только для примера. Существуют и другие ограничения, которые могут лучше справляться с конкретными сравнениями.
Создайте тест для интерактивных проверок.
Проверьте, что ReturnsTrue
ограничение удовлетворяется значением, возвращаемым указателем на true
.
Interactive verification passed.
Проверьте, что ReturnsTrue
ограничение не удовлетворяется указателем на false
.
Interactive verification failed.
---------------------
Framework Diagnostic:
---------------------
ReturnsTrue failed.
--> The function handle should have evaluated to "true".
--> Returned value:
0
Actual Function Handle:
@false
Проверьте, что вызов на isequal
возвращает true.
Interactive verification passed.
Проверьте, что функция, которая возвращает двойное значение 1, не удовлетворяет ReturnsTrue
ограничение.
Interactive verification failed.
---------------------
Framework Diagnostic:
---------------------
ReturnsTrue failed.
--> The function handle should have returned a logical value. It was of type "double".
--> Returned value:
1
Actual Function Handle:
@()double(true)
Проверьте, что отрицание сравнения текста 'a'
и 'b'
возвращает true.
Interactive verification passed.
Проверяйте, сравнение 'a'
в массив ячеек {'a','a'}
возвращает true.
Interactive verification failed.
---------------------
Framework Diagnostic:
---------------------
ReturnsTrue failed.
--> The function handle should have returned a scalar. The return value had a size of [1 2].
--> Returned value:
1 1
Actual Function Handle:
@()strcmp('a',{'a','a'})
Ограничение не выполнено, потому что вызов на strcmp
приводит к логическому массиву, а не к логическому скаляру.