Qualification for checking objects with respect to an interface

조회 수: 1(최근 30일)
Hau Kit Yong
Hau Kit Yong 2019년 7월 24일
답변: Rajani Mishra 2020년 3월 13일
I want to write some tests to check if my objects have implemented an interface correctly. The outline of my test is as follows:
classdef ClassATest < matlab.unittest.TestCase
methods (Test)
function testAddOne(testCase)
% Example test function that uses the verifyEqual qualification.
testObj = ClassA();
testObj.Value = 1;
testObj.addOne();
testCase.verifyEqual(testObj.Value, 2);
end
function testImplementsInterfaceB(testCase)
% Checks that ClassA objects implement the InterfaceB interface.
% InterfaceB consists of an "addTwo" method.
% What qualification do I use here?
end
end
end
I've looked at the list of qualifications in Types of Qualifications, but am not able to find an appropriate method. It would be ideal if there is a method similar to Ruby's "assert_respond_to" method from the Minitest framework, as it makes the intent of the test clear and can itself serve as a form of "executable documentation".

답변(1개)

Rajani Mishra
Rajani Mishra 2020년 3월 13일
You can use function “ismethod” to check whether provided function is a method of object provided as an input argument and then use verifyTrue() on the output of this function.
To know more about “ismethod” function refer to this link : https://www.mathworks.com/help/matlab/ref/ismethod.html

제품


릴리스

R2016b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by