Предикаты (ЮТПредикаты)
Механизм предикатов позволяет:
- Формировать наборы утверждений и передавать в методы проверки
- Методы для формирования предикатов имеют такой же синтаксис как и утверждения для тестов см. ЮТест.ОжидаетЧто
- Проверять элементы коллекций на соответствие утверждениям
Методы модуля
Реквизит
Устанавливает имя реквизита, все последующие проверки будут относится к нему.
Параметры метода
ИмяРеквизита
Строка
- Имя реквизитаЧисло
- Индекс коллекцииПроизвольный
- Ключ соответствия
Возвращает
ОбщийМодуль
- см. ЮТПредикаты.
Примеры:
// Проверка реквизита "Код" на равенство "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);
МеждуВключаяГраницы
Добавляет условие, что проверяемое значение (или значение его свойства) входит в заданный интервал.
Проверяемое значение может находится на границе интервала.
Параметры метода
НачалоИнтервала
Произвольный
- Левая граница интервала. Может иметь любой тип, позволяющий сравнивать значения
ОкончаниеИнтервала
Произвольный
- Правая граница. Может иметь любой тип, позволяющий сравнивать значения
Возвращает
ОбщийМодуль
- см. ЮТПредикаты.
МеждуИсключаяГраницы
Добавляет условие, что проверяемое значение (или значение его свойства) входит в заданный интервал.
Проверяемое значение не может находится на границе интервала.
Параметры метода
НачалоИнтервала
Произвольный
- Левая граница интервала. Может иметь любой тип, позволяющий сравнивать значения
ОкончаниеИнтервала
Произвольный
- Правая граница. Может иметь любой тип, позволяющий сравнивать значения
Возвращает
ОбщийМодуль
- см. ЮТПредикаты.
МеждуВключаяНачалоГраницы
Добавляет условие, что проверяемое значение (или значение его свойства) входит в заданный интервал.
Проверяемое значение может находится на начальной границе интервала.
Параметры метода
НачалоИнтервала
Произвольный
- Левая граница интервала. Может иметь любой тип, позволяющий сравнивать значения
ОкончаниеИнтервала
Произвольный
- Правая граница. Может иметь любой тип, позволяющий сравнивать значения
Возвращает
ОбщийМодуль
- см. ЮТПредикаты.
МеждуВключаяОкончаниеГраницы
Добавляет условие, что проверяемое значение (или значение его свойства) входит в заданный интервал.
Проверяемое значение может находится на конечной границе интервала.
Параметры метода
НачалоИнтервала
Произвольный
- Левая граница интервала. Может иметь любой тип, позволяющий сравнивать значения
ОкончаниеИнтервала
Произвольный
- Правая граница. Может иметь любой тип, позволяющий сравнивать значения
Возвращает
ОбщийМодуль
- см. ЮТПредикаты.
Получить
Возвращает набор сформированных утверждений.
Рекомендуется использовать этот метод, если планируется отложенная проверка предикатов. Например, вы хотите сформировать два набору предикатов и проверять их в зависимости от условия.
Метод копирует настроенный набор утверждений в массив и возвращает его, таким образом сохраняется состояние, которое можно передавать дальше.
Возвращает
Массив из см. ЮТФабрика.ВыражениеПредиката
- Набор предикатов
Выражения
Возвращает структуру-перечисление с типами выражений предикатов
Возвращает
ФиксированнаяСтруктура
- Выражения