matlab.mock.constraints.WasSet class

Пакет: matlab.mock.constraints

Ограничение, определяющее взаимодействие набора свойств

Описание

WasSet ограничение производит отказ проверки, если фактическим значением не является PropertyBehavior экземпляр, или если свойство, которое соответствует PropertyBehavior не был установлен конкретное количество раз.

Конструкция

constraint = WasSet обеспечивает ограничение, которое определяет взаимодействие набора свойств. Если значение свойства было установлено, по крайней мере, однажды, ограничению удовлетворяют. Чтобы квалифицировать это, свойство не было установлено, инвертируйте WasSet ограничение с тильдой (~оператор.

constraint = WasSet(Name,Value) предоставляет ограничению дополнительные опции, заданные одним или несколькими Name,Value парные аргументы. Например, WasSet('ToValue',42) создает ограничение, которому удовлетворяют, установлено ли значение свойства в 42, и WasSet('ToValue',42,'WithCount',3) создает ограничение, которому удовлетворяют, установлено ли значение свойства в 42 точно 3 раза.

Входные параметры

развернуть все

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Заданные значения свойств в виде скаляра, вектора, матрицы или многомерного массива. Значения могут быть любым типом данных и относиться к свойству, заданному поведением.

Пример: 'Joe'

Пример: [1 2 3;4 5 6]

Число раз свойство было установлено в виде целого числа.

Если вы инвертируете WasSet с этим синтаксисом, если значение свойства не было установлено точно n времена, ограничительные передачи. Например, если свойство было установлено четыре раза, ~WasSet('WithCount',3) передачи и ~WasSet('WithCount',4) сбои.

Пример 5

Свойства

развернуть все

Значения свойств в виде скаляра, вектора, матрицы или многомерного массива. Значения могут быть любым типом данных и относиться к свойству, заданному поведением.

Количество доступа к набору свойств, возвращенное как целое число. Это свойство только для чтения, если ограничение создается. Можно задать его во время ограничительной конструкции.

Примеры

свернуть все

Создайте макет для класса человека.

testCase = matlab.mock.TestCase.forInteractiveUse;
[fakePerson,behavior] = testCase.createMock('AddedProperties',["Name" "Age"]);

Используйте макет.

fakePerson.Name = 'David';

Создайте передающие случаи.

import matlab.mock.constraints.WasSet
testCase.verifyThat(behavior.Name,WasSet)
Interactive verification passed.
testCase.verifyThat(behavior.Age,~WasSet)
Interactive verification passed.
testCase.verifyThat(behavior.Name,WasSet('ToValue','David'))
Interactive verification passed.
testCase.verifyThat(behavior.Name,WasSet('WithCount',1))
Interactive verification passed.

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

testCase.verifyThat(behavior.Name,~WasSet)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
Negated WasSet failed.
--> Property 'Name' was unexpectedly set to the specified value 1 time(s).
--> Observed property set(s) to any value:
        <Mock>.Name = 'David'

Specified property set:
    PropertySetBehavior
        <Mock>.Name = <IsAnything constraint>
testCase.verifyThat(behavior.Age,WasSet)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
WasSet failed.
--> Property 'Age' was never set.

Specified property set:
    PropertySetBehavior
        <Mock>.Age = <IsAnything constraint>
testCase.verifyThat(behavior.Name,WasSet('ToValue','Andy'))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
WasSet failed.
--> Property 'Name' was not set to the specified value.
--> Observed property set(s) to any value:
        <Mock>.Name = 'David'

Specified property set:
    PropertySetBehavior
        <Mock>.Name = 'Andy'
testCase.verifyThat(behavior.Name,WasSet('WithCount',5))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
WasSet failed.
--> Property 'Name' was not set to the specified value the expected number of times.
    
    Actual property set count:
             1
    Expected property set count:
             5
--> Observed property set(s) to any value:
        <Mock>.Name = 'David'

Specified property set:
    PropertySetBehavior
        <Mock>.Name = <IsAnything constraint>

Введенный в R2017a