mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-01-05 12:50:36 +02:00
Merge pull request #111 from dlyubanevich/feature#108
Исправил ошибку определения предикатов при обучении
This commit is contained in:
commit
437245ce7c
@ -64,11 +64,11 @@
|
||||
|
||||
ТипПараметра = ТипЗнч(Предикаты);
|
||||
|
||||
Если ТипПараметра = Тип("ОбщийМодуль") И Предикаты = ЮТПредикаты Тогда
|
||||
Если ЭтоПредикатОбщийМодуль(ТипПараметра, Предикаты) Тогда
|
||||
Результат = ЮТПредикаты.Получить();
|
||||
ИначеЕсли ТипПараметра = Тип("Массив") И (Предикаты.Количество() = 0 ИЛИ ЮТОбщий.ТипСтруктуры(Предикаты[0]) = "Предикат") Тогда
|
||||
ИначеЕсли ЭтоПредикатМассив(ТипПараметра, Предикаты) Тогда
|
||||
Результат = Предикаты;
|
||||
ИначеЕсли ТипПараметра = Тип("Структура") И ЮТОбщий.ТипСтруктуры(Предикаты) = "Предикат" Тогда
|
||||
ИначеЕсли ЭтоПредикатСтруктура(ТипПараметра, Предикаты) Тогда
|
||||
Результат = ЮТОбщий.ЗначениеВМассиве(Предикаты);
|
||||
Иначе
|
||||
ВызватьИсключение "Некорректный параметр метода `ЮТПредикатыКлиентСервер.НаборПредикатов`";
|
||||
@ -78,12 +78,20 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Это предикат
|
||||
//
|
||||
// Параметры:
|
||||
// Предикаты - Произвольный - значение, для которого будет определено является ли оно предикатом или нет
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево
|
||||
Функция ЭтоПредикат(Предикаты) Экспорт
|
||||
|
||||
ТипПараметра = ТипЗнч(Предикаты);
|
||||
Возврат (ТипПараметра = Тип("ОбщийМодуль") И Предикаты = ЮТПредикаты)
|
||||
ИЛИ (ТипПараметра = Тип("Массив") И Предикаты.Количество() И ЮТОбщий.ТипСтруктуры(Предикаты[0]) = "Предикат")
|
||||
ИЛИ (ТипПараметра = Тип("Структура") И ЮТОбщий.ТипСтруктуры(Предикаты) = "Предикат");
|
||||
|
||||
Возврат ЭтоПредикатОбщийМодуль(ТипПараметра, Предикаты)
|
||||
Или ЭтоПредикатМассив(ТипПараметра, Предикаты)
|
||||
Или ЭтоПредикатСтруктура(ТипПараметра, Предикаты);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -167,6 +175,29 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Параметры сообщений об ошибке.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеПроверки - Строка - Описание конкретной проверки
|
||||
// ТекстПроверяемоеЗначение - Строка - Человекочитаемое описание проверяемого значения
|
||||
// ПредставлениеПроверяемогоЗначения - Неопределено - Представление проверяемого значения
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Параметры сообщений об ошибке:
|
||||
// * ОписаниеПроверки - Неопределено, Строка - Описание конкретной проверки
|
||||
// * ТекстПроверяемоеЗначение - Неопределено, Строка - Человекочитаемое описание проверяемого значения
|
||||
// * ПредставлениеПроверяемогоЗначения - Неопределено, Строка -
|
||||
Функция ПараметрыСообщенийОбОшибке(ОписаниеПроверки = Неопределено,
|
||||
ТекстПроверяемоеЗначение = "проверяемое значение",
|
||||
ПредставлениеПроверяемогоЗначения = Неопределено) Экспорт
|
||||
|
||||
Возврат Новый Структура("ОписаниеПроверки, ТекстПроверяемоеЗначение, ПредставлениеПроверяемогоЗначения",
|
||||
ОписаниеПроверки,
|
||||
ТекстПроверяемоеЗначение,
|
||||
ПредставлениеПроверяемогоЗначения);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@ -257,26 +288,25 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Параметры сообщений об ошибке.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеПроверки - Строка - Описание конкретной проверки
|
||||
// ТекстПроверяемоеЗначение - Строка - Человекочитаемое описание проверяемого значения
|
||||
// ПредставлениеПроверяемогоЗначения - Неопределено - Представление проверяемого значения
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Параметры сообщений об ошибке:
|
||||
// * ОписаниеПроверки - Неопределено, Строка - Описание конкретной проверки
|
||||
// * ТекстПроверяемоеЗначение - Неопределено, Строка - Человекочитаемое описание проверяемого значения
|
||||
// * ПредставлениеПроверяемогоЗначения - Неопределено, Строка -
|
||||
Функция ПараметрыСообщенийОбОшибке(ОписаниеПроверки = Неопределено,
|
||||
ТекстПроверяемоеЗначение = "проверяемое значение",
|
||||
ПредставлениеПроверяемогоЗначения = Неопределено) Экспорт
|
||||
Функция ЭтоПредикатОбщийМодуль(ТипПредикатов, Предикаты)
|
||||
|
||||
Возврат Новый Структура("ОписаниеПроверки, ТекстПроверяемоеЗначение, ПредставлениеПроверяемогоЗначения",
|
||||
ОписаниеПроверки,
|
||||
ТекстПроверяемоеЗначение,
|
||||
ПредставлениеПроверяемогоЗначения);
|
||||
Возврат ТипПредикатов = Тип("ОбщийМодуль")
|
||||
И Предикаты = ЮТПредикаты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоПредикатМассив(ТипПредикатов, Предикаты)
|
||||
|
||||
Возврат ТипПредикатов = Тип("Массив")
|
||||
И Предикаты.Количество()
|
||||
И ЭтоПредикатСтруктура(ТипЗнч(Предикаты[0]), Предикаты[0]);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоПредикатСтруктура(ТипПредикатов, Предикаты)
|
||||
|
||||
Возврат ТипПредикатов = Тип("Структура")
|
||||
И ЮТОбщий.ТипСтруктуры(Предикаты) = "Предикат";
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
|
||||
ЮТТесты
|
||||
.ДобавитьТест("ПроверитьПредикаты")
|
||||
.ДобавитьТест("ЭтоПредикат")
|
||||
.ДобавитьТест("СообщенияОбОшибках")
|
||||
;
|
||||
|
||||
@ -38,6 +39,25 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЭтоПредикат() Экспорт
|
||||
|
||||
СтруктураПредикат = ЮтФабрика.ВыражениеПредиката(ЮТПредикаты.Выражения().Равно);
|
||||
ЮТОбщий.УказатьТипСтруктуры(СтруктураПредикат, "Предикат");
|
||||
|
||||
Варианты = ЮТест.Варианты("Предикаты, ОжидаемоеЗначение")
|
||||
.Добавить(ЮТПредикаты, Истина)
|
||||
.Добавить(Мокито.МассивПараметров(СтруктураПредикат), Истина)
|
||||
.Добавить(СтруктураПредикат, Истина)
|
||||
.Добавить(Мокито.МассивПараметров(Новый Структура), Ложь)
|
||||
.Добавить(Мокито.МассивПараметров(Новый Структура("ЛюбойПараметр", 1)), Ложь)
|
||||
.Добавить(Мокито.МассивПараметров(1, 2, 3), Ложь);
|
||||
|
||||
Для Каждого Вариант Из Варианты.СписокВариантов() Цикл
|
||||
ЮТест.ОжидаетЧто(ЮТПредикатыКлиентСервер.ЭтоПредикат(Вариант.Предикаты)).Равно(Вариант.ОжидаемоеЗначение);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СообщенияОбОшибках() Экспорт
|
||||
|
||||
Объект = Новый Структура("Число, Пусто, Строка", 3, Неопределено, "123");
|
||||
|
Loading…
Reference in New Issue
Block a user