Перейти к основному содержимому

Предикаты (ЮТПредикаты)

Механизм предикатов позволяет:

  • Формировать наборы утверждений и передавать в методы проверки
  • Методы для формирования предикатов имеют такой же синтаксис как и утверждения для тестов см. ЮТест.ОжидаетЧто
  • Проверять элементы коллекций на соответствие утверждениям

Методы модуля


Реквизит

Устанавливает имя реквизита, все последующие проверки будут относится к нему.

Параметры метода

  • ИмяРеквизита
    • Строка - Имя реквизита
    • Число - Индекс коллекции
    • Произвольный - Ключ соответствия

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка реквизита "Код" на равенство "123"
ЮТест.Предикат().Реквизит("Код").Равно("123");
// Проверка элемента массива по индексу
ЮТест.Предикат().Реквизит(0).Равно("Первый");

Свойство

Устанавливает имя свойства, все последующие проверки будут относится к нему. Это псевдоним (алиас) для см. Реквизит

Параметры метода

  • ИмяСвойства
    • Строка - Имя реквизита
    • Число - Индекс коллекции
    • Произвольный - Ключ соответствия

Возвращает

ОбщийМодуль - см. ЮТПредикаты.


Равно

Добавляет предикат, проверяющий равенство объекта (свойства) указанному значению

Параметры метода

  • Значение
    • Произвольный - Значение для сравнения

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка на равенство строки
ЮТест.Предикат().Реквизит("Наименование").Равно("Товар");
// Проверка на равенство числа
ЮТест.Предикат().Реквизит("Количество").Равно(10);
// Проверка на равенство даты
ЮТест.Предикат().Реквизит("Дата").Равно(ТекущаяДата());

НеРавно

Добавляет предикат, проверяющий не равенство объекта (свойства) указанному значению

Параметры метода

  • Значение
    • Произвольный - Значение для сравнения

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка на неравенство строки
ЮТест.Предикат().Реквизит("Наименование").НеРавно("Товар");
// Проверка на неравенство числа
ЮТест.Предикат().Реквизит("Количество").НеРавно(0);

Заполнено

Добавляет предикат, проверяющий заполненность объекта (свойства)

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка заполненности реквизита
ЮТест.Предикат().Реквизит("Наименование").Заполнено();
// Проверка заполненности элемента массива
ЮТест.Предикат().Реквизит(0).Заполнено();

НеЗаполнено

Добавляет предикат, проверяющий, что объект (свойств) не заполнено

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка пустоты реквизита
ЮТест.Предикат().Реквизит("Комментарий").НеЗаполнено();
// Проверка пустоты элемента массива
ЮТест.Предикат().Реквизит(0).НеЗаполнено();

Пусто

Добавляет предикат, проверяющий, что объект (свойств) не заполнено

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка пустоты реквизита
ЮТест.Предикат().Реквизит("Комментарий").Пусто();
// Проверка пустоты элемента массива
ЮТест.Предикат().Реквизит(0).Пусто();

Больше

Добавляет предикат, проверяющий, что значение объекта (свойства) больше указанного

Параметры метода

  • Значение
    • Произвольный - Значение для сравнения

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка, что число больше
ЮТест.Предикат().Реквизит("Количество").Больше(0);
// Проверка, что дата больше
ЮТест.Предикат().Реквизит("Дата").Больше(ДобавитьКДате(ТекущаяДата(), "ДЕНЬ", -1));

БольшеИлиРавно

Добавляет предикат, проверяющий, что значение объекта (свойства) больше или равно указанному

Параметры метода

  • Значение
    • Произвольный - Значение для сравнения

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка, что число больше или равно
ЮТест.Предикат().Реквизит("Количество").БольшеИлиРавно(0);
// Проверка, что дата больше или равна
ЮТест.Предикат().Реквизит("Дата").БольшеИлиРавно(ТекущаяДата());

Меньше

Добавляет предикат, проверяющий, что значение объекта (свойства) меньше указанного

Параметры метода

  • Значение
    • Произвольный - Значение для сравнения

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка, что число меньше
ЮТест.Предикат().Реквизит("Количество").Меньше(100);
// Проверка, что дата меньше
ЮТест.Предикат().Реквизит("Дата").Меньше(ТекущаяДата());

МеньшеИлиРавно

Добавляет предикат, проверяющий, что значение объекта (свойства) меньше или равно указанному

Параметры метода

  • Значение
    • Произвольный - Значение для сравнения

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка, что число меньше или равно
ЮТест.Предикат().Реквизит("Количество").МеньшеИлиРавно(100);
// Проверка, что дата меньше или равна
ЮТест.Предикат().Реквизит("Дата").МеньшеИлиРавно(ТекущаяДата());

ИмеетТип

Добавляет предикат, проверяющий, что значение объекта (свойства) имеет указанный тип

Параметры метода

  • Тип
    • Тип - Тип для проверки
    • ОписаниеТипов - Описание типов для проверки
    • Строка - Имя типа для проверки

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка типа по имени
ЮТест.Предикат().Реквизит("Значение").ИмеетТип("Строка");
// Проверка типа по типу
ЮТест.Предикат().Реквизит("Дата").ИмеетТип(Тип("Дата"));
// Проверка типа по описанию типов
ЮТест.Предикат().Реквизит("Сумма").ИмеетТип(Новый ОписаниеТипов("Число"));

ИмеетТипОтличныйОт

Добавляет предикат, проверяющий, что значение объекта (свойства) имеет тип отличный от указанного

Параметры метода

  • Тип
    • Тип - Тип для проверки
    • ОписаниеТипов - Описание типов для проверки
    • Строка - Имя типа для проверки

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка, что значение не строка
ЮТест.Предикат().Реквизит("Значение").ИмеетТипОтличныйОт("Строка");
// Проверка, что значение не число
ЮТест.Предикат().Реквизит("Сумма").ИмеетТипОтличныйОт(Тип("Число"));

ИмеетДлину

Добавляет предикат, проверяющий, длину/размер значение объекта (свойства) на равенство указанному значению

Параметры метода

  • Значение
    • Число - Ожидаемая длина/размер

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка длины строки
ЮТест.Предикат().Реквизит("Наименование").ИмеетДлину(10);
// Проверка размера массива
ЮТест.Предикат().Реквизит("Элементы").ИмеетДлину(5);
// Проверка количества записей в таблице
ЮТест.Предикат().Реквизит("Товары").ИмеетДлину(100);

ИмеетДлинуОтличнуюОт

Добавляет предикат, проверяющий, длину/размер значение объекта (свойства) на не равенство указанному значению

Параметры метода

  • Значение
    • Число - Ожидаемая длина/размер

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка, что длина строки не равна
ЮТест.Предикат().Реквизит("Наименование").ИмеетДлинуОтличнуюОт(0);
// Проверка, что размер массива не равен
ЮТест.Предикат().Реквизит("Элементы").ИмеетДлинуОтличнуюОт(1);

ИмеетСвойство

Добавляет предикат, проверяющий, что значение объекта (реквизита) содержит вложенное свойство

Параметры метода

  • ИмяСвойства
    • Строка - Имя свойства для проверки
    • Число - Индекс коллекции для проверки
    • Произвольный - Ключ соответствия для проверки

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка наличия свойства в структуре
ЮТест.Предикат().Реквизит("Данные").ИмеетСвойство("Код");
// Проверка наличия элемента в массиве по индексу
ЮТест.Предикат().Реквизит("Массив").ИмеетСвойство(0);
// Проверка наличия значения в соответствии по ключу
ЮТест.Предикат().Реквизит("Соответствие").ИмеетСвойство("Ключ");

НеИмеетСвойства

Добавляет предикат, проверяющий, что значение объекта (реквизита) не содержит вложенное свойство

Параметры метода

  • ИмяСвойства
    • Строка - Имя свойства для проверки
    • Число - Индекс коллекции для проверки
    • Произвольный - Ключ соответствия для проверки

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка отсутствия свойства в структуре
ЮТест.Предикат().Реквизит("Данные").НеИмеетСвойства("Код");
// Проверка отсутствия элемента в массиве
ЮТест.Предикат().Реквизит("Массив").НеИмеетСвойства(10);

Содержит

Добавляет предикат, проверяющий, что значение объекта (реквизита) содержит указанное значение

Параметры метода

  • Значение
    • Произвольный - Значение для поиска

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка наличия подстроки
ЮТест.Предикат().Реквизит("Наименование").Содержит("Товар");
// Проверка наличия элемента в массиве
ЮТест.Предикат().Реквизит("Элементы").Содержит("ИскомыйЭлемент");

НеСодержит

Добавляет предикат, проверяющий, что значение объекта (реквизита) не содержит указанное значение

Параметры метода

  • Значение
    • Произвольный - Значение для поиска

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка отсутствия подстроки
ЮТест.Предикат().Реквизит("Наименование").НеСодержит("ЗапрещенноеСлово");
// Проверка отсутствия элемента в массиве
ЮТест.Предикат().Реквизит("Элементы").НеСодержит("НежелательныйЭлемент");

СодержитСтрокуПоШаблону

Добавляет предикат, проверяющий, что строка соответствует указанному регулярному выражению

Параметры метода

  • Значение
    • Строка - Регулярное выражение для проверки

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка соответствия шаблону
ЮТест.Предикат().Реквизит("Код").СодержитСтрокуПоШаблону("\d{6}");
// Проверка формата даты
ЮТест.Предикат().Реквизит("ДатаСтрокой").СодержитСтрокуПоШаблону("\d{2}\.\d{2}\.\d{4}");

НеСодержитСтрокуПоШаблону

Добавляет предикат, проверяющий, что строка не соответствует указанному регулярному выражению

Параметры метода

  • Значение
    • Строка - Регулярное выражение для проверки

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка несоответствия шаблону
ЮТест.Предикат().Реквизит("Код").НеСодержитСтрокуПоШаблону("[А-Я]");
// Проверка формата даты
ЮТест.Предикат().Реквизит("ДатаСтрокой").НеСодержитСтрокуПоШаблону("\d{2}-\d{2}-\d{4}");

ВСписке

Добавляет условие, что проверяемое значение (или значение его свойства) входит в список значений

Параметры метода

  • Значения
    • Массив из Произвольный - Значения для проверки
    • СписокЗначений из Произвольный - Значения для проверки

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка вхождения в массив значений
ЮТест.Предикат().Реквизит("Статус").ВСписке(ЮТКоллекции.ЗначениеВМассиве("Новый", "ВРаботе", "Завершен"));
// Проверка вхождения в список значений
СписокСтатусов = Новый СписокЗначений;
СписокСтатусов.Добавить("Новый");
СписокСтатусов.Добавить("ВРаботе");
ЮТест.Предикат().Реквизит("Статус").ВСписке(СписокСтатусов);

Между

Добавляет условие, что проверяемое значение (или значение его свойства) входит в заданный интервал.

Проверяемое значение может находится на границе интервала.

Параметры метода

  • НачалоИнтервала
    • Произвольный - Левая граница интервала. Может иметь любой тип, позволяющий сравнивать значения
  • ОкончаниеИнтервала
    • Произвольный - Правая граница. Может иметь любой тип, позволяющий сравнивать значения

Возвращает

ОбщийМодуль - см. ЮТПредикаты.

Примеры:

// Проверка вхождения числа в интервал
ЮТест.Предикат().Реквизит("Количество").Между(0, 100);

МеждуВключаяГраницы

Добавляет условие, что проверяемое значение (или значение его свойства) входит в заданный интервал.

Проверяемое значение может находится на границе интервала.

Параметры метода

  • НачалоИнтервала
    • Произвольный - Левая граница интервала. Может иметь любой тип, позволяющий сравнивать значения
  • ОкончаниеИнтервала
    • Произвольный - Правая граница. Может иметь любой тип, позволяющий сравнивать значения

Возвращает

ОбщийМодуль - см. ЮТПредикаты.


МеждуИсключаяГраницы

Добавляет условие, что проверяемое значение (или значение его свойства) входит в заданный интервал.

Проверяемое значение не может находится на границе интервала.

Параметры метода

  • НачалоИнтервала
    • Произвольный - Левая граница интервала. Может иметь любой тип, позволяющий сравнивать значения
  • ОкончаниеИнтервала
    • Произвольный - Правая граница. Может иметь любой тип, позволяющий сравнивать значения

Возвращает

ОбщийМодуль - см. ЮТПредикаты.


МеждуВключаяНачалоГраницы

Добавляет условие, что проверяемое значение (или значение его свойства) входит в заданный интервал.

Проверяемое значение может находится на начальной границе интервала.

Параметры метода

  • НачалоИнтервала
    • Произвольный - Левая граница интервала. Может иметь любой тип, позволяющий сравнивать значения
  • ОкончаниеИнтервала
    • Произвольный - Правая граница. Может иметь любой тип, позволяющий сравнивать значения

Возвращает

ОбщийМодуль - см. ЮТПредикаты.


МеждуВключаяОкончаниеГраницы

Добавляет условие, что проверяемое значение (или значение его свойства) входит в заданный интервал.

Проверяемое значение может находится на конечной границе интервала.

Параметры метода

  • НачалоИнтервала
    • Произвольный - Левая граница интервала. Может иметь любой тип, позволяющий сравнивать значения
  • ОкончаниеИнтервала
    • Произвольный - Правая граница. Может иметь любой тип, позволяющий сравнивать значения

Возвращает

ОбщийМодуль - см. ЮТПредикаты.


Получить

Возвращает набор сформированных утверждений.

Рекомендуется использовать этот метод, если планируется отложенная проверка предикатов. Например, вы хотите сформировать два набору предикатов и проверять их в зависимости от условия.

Метод копирует настроенный набор утверждений в массив и возвращает его, таким образом сохраняется состояние, которое можно передавать дальше.

Возвращает

Массив из см. ЮТФабрика.ВыражениеПредиката - Набор предикатов


Выражения

Возвращает структуру-перечисление с типами выражений предикатов

Возвращает

ФиксированнаяСтруктура - Выражения