mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-02-13 19:42:02 +02:00
Вынес метод фикция в публичный интерфейс Добавлена поддержка генерации по типу (в дополнение к описанию типов)
This commit is contained in:
parent
6018e65368
commit
a9c43445d9
@ -1,6 +1,6 @@
|
|||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
//
|
//
|
||||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -646,6 +646,21 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Генерирует новое значение указанного типа.
|
||||||
|
// Если `ОписаниеТипа` содержит несколько типов, то выбирается случайный из них.
|
||||||
|
// Параметры:
|
||||||
|
// ОписаниеТипа - ОписаниеТипов, Тип - Тип значения генерируемого значения
|
||||||
|
// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы
|
||||||
|
// - Неопределено
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Произвольный - Сгенерированное значение указанного типа
|
||||||
|
Функция Фикция(ОписаниеТипа, РеквизитыЗаполнения = Неопределено) Экспорт
|
||||||
|
|
||||||
|
Возврат ЮТТестовыеДанныеСлужебный.Фикция(ОписаниеТипа, РеквизитыЗаполнения);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
//
|
//
|
||||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -18,18 +18,14 @@
|
|||||||
|
|
||||||
#Область СлужебныйПрограммныйИнтерфейс
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
// Фикция.
|
// см. ЮТТестовыеДанные.Фикция
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// ОписаниеТипа - ОписаниеТипов
|
|
||||||
// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы
|
|
||||||
// - Неопределено
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Произвольный
|
|
||||||
Функция Фикция(ОписаниеТипа, РеквизитыЗаполнения = Неопределено) Экспорт
|
Функция Фикция(ОписаниеТипа, РеквизитыЗаполнения = Неопределено) Экспорт
|
||||||
|
|
||||||
Если ОписаниеТипа.Типы().Количество() > 1 Тогда
|
ПереданоОписаниеТипа = ТипЗнч(ОписаниеТипа) = Тип("ОписаниеТипов");
|
||||||
|
|
||||||
|
Если НЕ ПереданоОписаниеТипа Тогда
|
||||||
|
Тип = ОписаниеТипа;
|
||||||
|
ИначеЕсли ОписаниеТипа.Типы().Количество() > 1 Тогда
|
||||||
НомерТипа = ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(ОписаниеТипа.Типы().Количество());
|
НомерТипа = ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(ОписаниеТипа.Типы().Количество());
|
||||||
Тип = ОписаниеТипа.Типы()[НомерТипа - 1];
|
Тип = ОписаниеТипа.Типы()[НомерТипа - 1];
|
||||||
Иначе
|
Иначе
|
||||||
@ -44,17 +40,11 @@
|
|||||||
|
|
||||||
ИначеЕсли Тип = Тип("Строка") Тогда
|
ИначеЕсли Тип = Тип("Строка") Тогда
|
||||||
|
|
||||||
Если ОписаниеТипа.КвалификаторыСтроки.Длина = 0 Тогда
|
Значение = ФикстивнаяСтрока(ОписаниеТипа);
|
||||||
Значение = ЮТТестовыеДанные.СлучайнаяСтрока(ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(100));
|
|
||||||
Иначе
|
|
||||||
Значение = ЮТТестовыеДанные.СлучайнаяСтрока(ОписаниеТипа.КвалификаторыСтроки.Длина);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ИначеЕсли Тип = Тип("Дата") Тогда
|
ИначеЕсли Тип = Тип("Дата") Тогда
|
||||||
|
|
||||||
//@skip-check use-non-recommended-method
|
Значение = ФикстивнаяДата(ОписаниеТипа);
|
||||||
Значение = ЮТТестовыеДанные.СлучайнаяДата(ТекущаяДата() - 315360000, ТекущаяДата() + 315360000); // BSLLS:DeprecatedCurrentDate-off
|
|
||||||
// +/- 10 лет
|
|
||||||
|
|
||||||
ИначеЕсли Тип = Тип("Булево") Тогда
|
ИначеЕсли Тип = Тип("Булево") Тогда
|
||||||
|
|
||||||
@ -75,7 +65,11 @@
|
|||||||
ВызватьИсключение СтрШаблон("Создание фейковых значений для `%1` не поддерживается", ОписаниеТипа);
|
ВызватьИсключение СтрШаблон("Создание фейковых значений для `%1` не поддерживается", ОписаниеТипа);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат ОписаниеТипа.ПривестиЗначение(Значение);
|
Если ПереданоОписаниеТипа Тогда
|
||||||
|
Значение = ОписаниеТипа.ПривестиЗначение(Значение);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Значение;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@ -216,6 +210,10 @@
|
|||||||
|
|
||||||
Функция ФиктивноеЧисло(ОписаниеТипа)
|
Функция ФиктивноеЧисло(ОписаниеТипа)
|
||||||
|
|
||||||
|
Если ТипЗнч(ОписаниеТипа) <> Тип("ОписаниеТипов") Тогда
|
||||||
|
Возврат ЮТТестовыеДанные.СлучайноеЧисло();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
МаксимальноеЗначение = 4294967295;
|
МаксимальноеЗначение = 4294967295;
|
||||||
Если ОписаниеТипа.КвалификаторыЧисла.ДопустимыйЗнак = ДопустимыйЗнак.Неотрицательный ИЛИ ЮТТестовыеДанные.СлучайноеБулево() Тогда
|
Если ОписаниеТипа.КвалификаторыЧисла.ДопустимыйЗнак = ДопустимыйЗнак.Неотрицательный ИЛИ ЮТТестовыеДанные.СлучайноеБулево() Тогда
|
||||||
МаксимальноеЗначение = ОписаниеТипа.ПривестиЗначение(МаксимальноеЗначение);
|
МаксимальноеЗначение = ОписаниеТипа.ПривестиЗначение(МаксимальноеЗначение);
|
||||||
@ -229,4 +227,28 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ФикстивнаяСтрока(ОписаниеТипа)
|
||||||
|
|
||||||
|
Если ТипЗнч(ОписаниеТипа) <> Тип("ОписаниеТипов") Тогда
|
||||||
|
Возврат ЮТТестовыеДанные.СлучайнаяСтрока(ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(100));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ОписаниеТипа.КвалификаторыСтроки.Длина = 0 Тогда
|
||||||
|
Значение = ЮТТестовыеДанные.СлучайнаяСтрока(ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(100));
|
||||||
|
Иначе
|
||||||
|
Значение = ЮТТестовыеДанные.СлучайнаяСтрока(ОписаниеТипа.КвалификаторыСтроки.Длина);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Значение;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ФикстивнаяДата(ОписаниеТипа)
|
||||||
|
|
||||||
|
Интервал = 315360000; // 10 лет
|
||||||
|
//@skip-check use-non-recommended-method
|
||||||
|
Возврат ЮТТестовыеДанные.СлучайнаяДата(ТекущаяДата() - Интервал, ТекущаяДата() + Интервал); // BSLLS:DeprecatedCurrentDate-off
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
//
|
//
|
||||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -39,6 +39,12 @@
|
|||||||
.ДобавитьТест("УстановитьЗначениеРеквизита")
|
.ДобавитьТест("УстановитьЗначениеРеквизита")
|
||||||
.ДобавитьТест("СлучайноеОтрицательноеЧисло")
|
.ДобавитьТест("СлучайноеОтрицательноеЧисло")
|
||||||
.ДобавитьТест("СлучайныйНомерТелефона")
|
.ДобавитьТест("СлучайныйНомерТелефона")
|
||||||
|
.ДобавитьТест("Фикция")
|
||||||
|
.СПараметрами(Тип("Строка"))
|
||||||
|
.СПараметрами(Тип("СправочникСсылка.Банки"))
|
||||||
|
.СПараметрами(Новый ОписаниеТипов("СправочникСсылка.Банки"))
|
||||||
|
.СПараметрами(Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(3, 1, ДопустимыйЗнак.Неотрицательный)))
|
||||||
|
.СПараметрами(Новый ОписаниеТипов("СправочникСсылка.Банки, ДокументСсылка.Заказ"))
|
||||||
;
|
;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -441,4 +447,14 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Фикция(ТипЗначения) Экспорт
|
||||||
|
|
||||||
|
Значение = ЮТест.Данные().Фикция(ТипЗначения);
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(Значение)
|
||||||
|
.Заполнено()
|
||||||
|
.ИмеетТип(ТипЗначения);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
Loading…
x
Reference in New Issue
Block a user