Эти сравнения показывают, например, только. Существуют другие ограничения, которые могут лучше обработать конкретные сравнения.
Создайте контрольный пример для интерактивного тестирования.
Проверьте что 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 заканчивается логический массив, не логический скаляр.