matlab.mock.constraints. Класс WasSet

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