Класс: matlab.mock.actions.AssignOutputs
Пакет: matlab.mock.actions
Повторите то же действие многократно
repeat(n,action)
Если вы повторяете действие и не следуете за ним с вызовом then
метод, макет продолжает возвращать повторное значение. Например, рассмотрите следующий макет для класса банковского счета.
import matlab.mock.actions.AssignOutputs testCase = matlab.mock.TestCase.forInteractiveUse; [mock,behavior] = testCase.createMock('AddedProperties',"IsJointAccount");
Если вы повторяете действие, чтобы возвратить значение свойства true
дважды, следующий код, который продолжает получать значение свойства в третий и четвертый раз, возвращает true
все четыре раза.
when(get(behavior.IsJointAccount),then(repeat(2,AssignOutputs(true)))); for i = 1:4 tf = mock.IsJointAccount end
Но следующий код возвращает true
дважды и false
дважды.
when(get(behavior.IsJointAccount),then(repeat(2,AssignOutputs(true)), ... then(AssignOutputs(false)))); for i = 1:4 tf = mock.IsJointAccount end