diff --git a/exts/yaxunit/src/CommonModules/ЮТИсключения/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТИсключения/Module.bsl
new file mode 100644
index 00000000..c1871dae
--- /dev/null
+++ b/exts/yaxunit/src/CommonModules/ЮТИсключения/Module.bsl
@@ -0,0 +1,28 @@
+//©///////////////////////////////////////////////////////////////////////////©//
+//
+// Copyright 2021-2024 BIA-Technologies Limited Liability Company
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//©///////////////////////////////////////////////////////////////////////////©//
+
+#Область СлужебныйПрограммныйИнтерфейс
+
+Функция НекорректныеПараметрыМетода(ИмяМетода, Пояснение = Неопределено) Экспорт
+
+ Сообщение = СтрШаблон("Некорректные параметры метода `%1`");
+ Возврат ЮТОбщий.ДобавитьСтроку(Сообщение, Пояснение, ", ");
+
+КонецФункции
+
+#КонецОбласти
diff --git a/exts/yaxunit/src/CommonModules/ЮТИсключения/ЮТИсключения.mdo b/exts/yaxunit/src/CommonModules/ЮТИсключения/ЮТИсключения.mdo
new file mode 100644
index 00000000..bceff266
--- /dev/null
+++ b/exts/yaxunit/src/CommonModules/ЮТИсключения/ЮТИсключения.mdo
@@ -0,0 +1,11 @@
+
+
+ ЮТИсключения
+
+ ru
+ Исключения
+
+ true
+ true
+ true
+
diff --git a/exts/yaxunit/src/CommonModules/ЮТКомпоненты/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТКомпоненты/Module.bsl
index cc3e0f6f..ad39dade 100644
--- a/exts/yaxunit/src/CommonModules/ЮТКомпоненты/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТКомпоненты/Module.bsl
@@ -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");
// you may not use this file except in compliance with the License.
@@ -74,7 +74,7 @@
Функция СоздатьКомпоненту(ОписаниеКомпоненты, Кэшировать = Ложь) Экспорт
Если Кэшировать Тогда
- Возврат ЮТПовторногоИспользования.СоздатьКомпоненту(ОписаниеКомпоненты);
+ Возврат ЮТСлужебныйПовторногоИспользования.СоздатьКомпоненту(ОписаниеКомпоненты);
КонецЕсли;
#Если Сервер Тогда
@@ -107,7 +107,7 @@
Функция ПодключитьКомпоненту(ИмяМакета, ИмяКомпоненты, Кэшировать) Экспорт
Если Кэшировать Тогда
- Возврат ЮТПовторногоИспользования.ПодключитьКомпоненту(ИмяМакета, ИмяКомпоненты);
+ Возврат ЮТСлужебныйПовторногоИспользования.ПодключитьКомпоненту(ИмяМакета, ИмяКомпоненты);
КонецЕсли;
Возврат ПодключитьВнешнююКомпоненту(ИмяМакета, ИмяКомпоненты, ТипВнешнейКомпоненты.Native);
diff --git a/exts/yaxunit/src/CommonModules/ЮТКонтекстСервер/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТКонтекстСервер/Module.bsl
index 4dd964da..c2385679 100644
--- a/exts/yaxunit/src/CommonModules/ЮТКонтекстСервер/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТКонтекстСервер/Module.bsl
@@ -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");
// you may not use this file except in compliance with the License.
@@ -68,7 +68,7 @@
Если Кэшировать Тогда
- Возврат ЮТПовторногоИспользования.АдресСерверногоКонтекста();
+ Возврат ЮТСлужебныйПовторногоИспользования.АдресСерверногоКонтекста();
Иначе
diff --git a/exts/yaxunit/src/CommonModules/ЮТОбщий/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТОбщий/Module.bsl
index 9232c484..ad570f2a 100644
--- a/exts/yaxunit/src/CommonModules/ЮТОбщий/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТОбщий/Module.bsl
@@ -55,16 +55,19 @@
КонецФункции
+// Вычисляет хеш по алгоритму md5.
+//
+// Параметры:
+// Данные - Строка, ДвоичныеДанные - Данные, для которых необходимо вычислить хеш
+//
+// Возвращаемое значение:
+// Строка
Функция ХешMD5(Данные) Экспорт
Возврат ЮТОбщийВызовСервера.ХешMD5(Данные);
КонецФункции
-#КонецОбласти
-
-#Область СлужебныйПрограммныйИнтерфейс
-
#Область Строки
// ДобавитьСтроку
@@ -143,6 +146,34 @@
#КонецОбласти
+#Область ДатаВремя
+
+// Добавляет к дате указанное значение временных интервалов
+//
+// Параметры:
+// Дата - Дата
+// Интервал - Число - Добавляемое
+// ТипИнтервала - Строка - Тип интервала
+//
+// Возвращаемое значение:
+// Дата
+Функция ДобавитьКДате(Дата, Интервал, ТипИнтервала) Экспорт
+
+ Если ЭтоМесяц(ТипИнтервала) Тогда
+ Возврат ДобавитьМесяц(Дата, Интервал);
+ КонецЕсли;
+
+ Множитель = МножительПериода(ТипИнтервала);
+ Возврат Дата + Множитель * Интервал;
+
+КонецФункции
+
+#КонецОбласти
+
+#КонецОбласти
+
+#Область СлужебныйПрограммныйИнтерфейс
+
#Область Числа
// Инкрементирует значение
@@ -640,7 +671,7 @@
ЮТПроверкиСлужебный.ПроверитьТипПараметра(ИмяМетода, Тип("Строка"), "ЮТОбщий.МетодМодуляСуществует", "ИмяМетода");
Если Кешировать Тогда
- Возврат ЮТПовторногоИспользования.МетодМодуляСуществует(ИмяМодуля, ИмяМетода, КоличествоПараметров);
+ Возврат ЮТСлужебныйПовторногоИспользования.МетодМодуляСуществует(ИмяМодуля, ИмяМетода, КоличествоПараметров);
КонецЕсли;
ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяМетода);
@@ -788,6 +819,7 @@
ЗаписьJSON = Новый ЗаписьJSON();
ЗаписьJSON.УстановитьСтроку();
Если ИспользоватьСериализатор Тогда
+ //@skip-check undefined-variable
СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, Значение);
Иначе
ЗаписатьJSON(ЗаписьJSON, Значение);
@@ -845,7 +877,7 @@
// ОписаниеТипов - Описание типов любая ссылка
Функция ОписаниеТиповЛюбаяСсылка() Экспорт
- Возврат ЮТПовторногоИспользования.ОписаниеТиповЛюбаяСсылка();
+ Возврат ЮТСлужебныйПовторногоИспользования.ОписаниеТиповЛюбаяСсылка();
КонецФункции
@@ -1147,4 +1179,19 @@
Возврат Ложь;
КонецФункции
+Функция МножительПериода(ТипИнтервала)
+
+ Множители = ЮТСлужебныйПовторногоИспользования.МножителиИнтервалов();
+ Возврат Множители[ТипИнтервала];
+
+КонецФункции
+
+Функция ЭтоМесяц(ТипИнтервала)
+
+ Возврат СтрСравнить(ТипИнтервала, "месяц") = 0
+ Или СтрСравнить(ТипИнтервала, "месяца") = 0
+ Или СтрСравнить(ТипИнтервала, "месяцев") = 0;
+
+КонецФункции
+
#КонецОбласти
diff --git a/exts/yaxunit/src/CommonModules/ЮТПовторногоИспользования/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТСлужебныйПовторногоИспользования/Module.bsl
similarity index 69%
rename from exts/yaxunit/src/CommonModules/ЮТПовторногоИспользования/Module.bsl
rename to exts/yaxunit/src/CommonModules/ЮТСлужебныйПовторногоИспользования/Module.bsl
index ca68d975..dfe6095b 100644
--- a/exts/yaxunit/src/CommonModules/ЮТПовторногоИспользования/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТСлужебныйПовторногоИспользования/Module.bsl
@@ -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");
// you may not use this file except in compliance with the License.
@@ -67,4 +67,28 @@
КонецФункции
+Функция МножителиИнтервалов() Экспорт
+
+ СекундВМинуте = 60;
+ СекундВЧасе = 60 * СекундВМинуте;
+ СекундВДне = СекундВЧасе * 24;
+
+ Множители = Новый Структура;
+ Множители.Вставить("секунда", 1);
+ Множители.Вставить("секунды", 1);
+ Множители.Вставить("секунд", 1);
+ Множители.Вставить("минута", СекундВМинуте);
+ Множители.Вставить("минуты", СекундВМинуте);
+ Множители.Вставить("минут", СекундВМинуте);
+ Множители.Вставить("час", СекундВЧасе);
+ Множители.Вставить("часа", СекундВЧасе);
+ Множители.Вставить("часов", СекундВЧасе);
+ Множители.Вставить("день", СекундВДне);
+ Множители.Вставить("дня", СекундВДне);
+ Множители.Вставить("дней", СекундВДне);
+
+ Возврат Множители;
+
+КонецФункции
+
#КонецОбласти
diff --git a/exts/yaxunit/src/CommonModules/ЮТПовторногоИспользования/ЮТПовторногоИспользования.mdo b/exts/yaxunit/src/CommonModules/ЮТСлужебныйПовторногоИспользования/ЮТСлужебныйПовторногоИспользования.mdo
similarity index 85%
rename from exts/yaxunit/src/CommonModules/ЮТПовторногоИспользования/ЮТПовторногоИспользования.mdo
rename to exts/yaxunit/src/CommonModules/ЮТСлужебныйПовторногоИспользования/ЮТСлужебныйПовторногоИспользования.mdo
index 444108f0..5955f698 100644
--- a/exts/yaxunit/src/CommonModules/ЮТПовторногоИспользования/ЮТПовторногоИспользования.mdo
+++ b/exts/yaxunit/src/CommonModules/ЮТСлужебныйПовторногоИспользования/ЮТСлужебныйПовторногоИспользования.mdo
@@ -1,6 +1,6 @@
- ЮТПовторногоИспользования
+ ЮТСлужебныйПовторногоИспользования
ru
Повторного использования
diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl
index 97d9a2d3..ae48641c 100644
--- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl
@@ -238,22 +238,143 @@
//
// Возвращаемое значение:
// Дата - Случайная дата
-Функция СлучайнаяДата(Знач Минимум = Неопределено, Знач Максимум = Неопределено) Экспорт
+Функция СлучайнаяДата(Знач Минимум = '00010101', Знач Максимум = '39991231') Экспорт
- Если Минимум = Неопределено Тогда
- Минимум = '00010101';
+ Если Минимум = Максимум Тогда
+ Возврат Минимум;
+ ИначеЕсли Максимум < Минимум Тогда
+ ВызватьИсключение ЮТИсключения.НекорректныеПараметрыМетода("СлучайнаяДата", "максимальное значение должно быть больше минимального");
КонецЕсли;
- Если Максимум = Неопределено Тогда
- Максимум = '39991231';
+ РазностьДат = Максимум - Минимум;
+
+ Если РазностьДат <= МаксимумГенератора() Тогда
+ Возврат Минимум + СлучайноеЧисло(0, РазностьДат);
КонецЕсли;
СекундВДне = 86400;
- КоличествоДней = Цел((Максимум - Минимум) / СекундВДне);
+ КоличествоДней = Цел((РазностьДат) / СекундВДне);
+
Возврат Минимум + СлучайноеЧисло(0, КоличествоДней) * СекундВДне + СлучайноеЧисло(0, СекундВДне);
КонецФункции
+// Генерирует случайное время
+//
+// Возвращаемое значение:
+// Дата - Случайное время
+Функция СлучайноеВремя() Экспорт
+
+ СекундВСутках = 60*60*24;
+
+ Возврат '00010101000000' + СлучайноеЧисло(0, СекундВСутках - 1);
+
+КонецФункции
+
+// Генерирует случайную дату в будущем.
+// Максимальное значение генерируемой даты можно ограничить параметрами.
+// Например: СлучайнаяДатаВБудущем(2, "часа") - будет сформирована дата в интервали (ТекущаяДата, ТекущаяДата + 2 часа]
+//
+// Параметры:
+// Интервал - Число - Интервал
+// ТипИнтервала - Строка - Строковое представление интервала времени, возможные значения
+// * секунда, секунды, секунд
+// * минута, минуты, минут
+// * час, часа, часов
+// * день, дня, дней
+// * месяц, месяца, месяцев
+//
+// Возвращаемое значение:
+// Дата - Случайная дата в будущем
+Функция СлучайнаяДатаВБудущем(Интервал = Неопределено, ТипИнтервала = Неопределено) Экспорт
+
+ //@skip-check use-non-recommended-method
+ Возврат СлучайнаяДатаПосле(ТекущаяДата(), Интервал, ТипИнтервала);
+
+КонецФункции
+
+// Генерирует случайную дату в прошлом.
+// Минимальное значение генерируемой даты можно ограничить параметрами.
+// Например: СлучайнаяДатаВПрошлом(2, "часа") - будет сформирована дата в интервали [ТекущаяДата - 2 часа, ТекущаяДата)
+//
+// Параметры:
+// Интервал - Число - Интервал
+// ТипИнтервала - Строка - Строковое представление интервала времени, возможные значения
+// * секунда, секунды, секунд
+// * минута, минуты, минут
+// * час, часа, часов
+// * день, дня, дней
+// * месяц, месяца, месяцев
+//
+// Возвращаемое значение:
+// Дата - Случайная дата в прошлом
+Функция СлучайнаяДатаВПрошлом(Интервал = Неопределено, ТипИнтервала = Неопределено) Экспорт
+
+ //@skip-check use-non-recommended-method
+ Возврат СлучайнаяДатаДо(ТекущаяДата(), Интервал, ТипИнтервала);
+
+КонецФункции
+
+// Генерирует случайную дату, значение которой больше указанной.
+// Максимальное значение генерируемой даты можно ограничить параметрами.
+// Например: СлучайнаяДатаПосле(Дата, 2, "часа") - будет сформирована дата в интервали [Дата - 2 часа, Дата)
+//
+// Параметры:
+// Дата - Дата
+// Интервал - Число - Интервал
+// ТипИнтервала - Строка - Строковое представление интервала времени, возможные значения
+// * секунда, секунды, секунд
+// * минута, минуты, минут
+// * час, часа, часов
+// * день, дня, дней
+// * месяц, месяца, месяцев
+//
+// Возвращаемое значение:
+// Дата
+Функция СлучайнаяДатаПосле(Дата, Интервал = Неопределено, ТипИнтервала = Неопределено) Экспорт
+
+ ИнтервалНеУказан = Интервал = Неопределено И ТипИнтервала = Неопределено;
+
+ Если ИнтервалНеУказан Тогда
+ Возврат СлучайнаяДата(Дата + 1);
+ Иначе
+ Минимум = Дата + 1;
+ Максимум = ЮТОбщий.ДобавитьКДате(Дата, Интервал, ТипИнтервала);
+ Возврат СлучайнаяДата(Минимум, Максимум);
+ КонецЕсли;
+
+КонецФункции
+
+// Генерирует случайную дату, значение которой меньше указанной.
+// Минимальное значение генерируемой даты можно ограничить параметрами.
+// Например: СлучайнаяДатаПосле(Дата, 2, "часа") - будет сформирована дата в интервали [Дата - 2 часа, Дата)
+//
+// Параметры:
+// Дата - Дата
+// Интервал - Число - Интервал
+// ТипИнтервала - Строка - Строковое представление интервала времени, возможные значения
+// * секунда, секунды, секунд
+// * минута, минуты, минут
+// * час, часа, часов
+// * день, дня, дней
+// * месяц, месяца, месяцев
+//
+// Возвращаемое значение:
+// Дата
+Функция СлучайнаяДатаДо(Дата, Интервал = Неопределено, ТипИнтервала = Неопределено) Экспорт
+
+ ИнтервалНеУказан = Интервал = Неопределено И ТипИнтервала = Неопределено;
+
+ Если ИнтервалНеУказан Тогда
+ Возврат СлучайнаяДата(, Дата - 1);
+ Иначе
+ Минимум = ЮТОбщий.ДобавитьКДате(Дата, -Интервал, ТипИнтервала);
+ Максимум = Дата - 1;
+ Возврат СлучайнаяДата(Минимум, Максимум);
+ КонецЕсли;
+
+КонецФункции
+
// Генерирует и возвращает случайный IP адрес.
//
// Возвращаемое значение:
@@ -716,4 +837,25 @@
КонецПроцедуры
+Функция МножительПериода(ТипИнтервала)
+
+ Множители = ЮТСлужебныйПовторногоИспользования.МножителиИнтервалов();
+ Возврат Множители[ТипИнтервала];
+
+КонецФункции
+
+Функция ЭтоМесяц(ТипИнтервала)
+
+ Возврат СтрСравнить(ТипИнтервала, "месяц") = 0
+ Или СтрСравнить(ТипИнтервала, "месяца") = 0
+ Или СтрСравнить(ТипИнтервала, "месяцев") = 0;
+
+КонецФункции
+
+Функция МаксимумГенератора()
+
+ Возврат 4294967295;
+
+КонецФункции
+
#КонецОбласти
diff --git a/exts/yaxunit/src/CommonModules/ЮТТипыДанныхСлужебный/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТипыДанныхСлужебный/Module.bsl
index 778f193b..d8c3129d 100644
--- a/exts/yaxunit/src/CommonModules/ЮТТипыДанныхСлужебный/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТТипыДанныхСлужебный/Module.bsl
@@ -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");
// you may not use this file except in compliance with the License.
@@ -163,7 +163,7 @@
Функция ЭтоПримитивныйТип(Тип) Экспорт
- ПримитивныеТипы = ЮТПовторногоИспользования.ПримитивныеТипы();
+ ПримитивныеТипы = ЮТСлужебныйПовторногоИспользования.ПримитивныеТипы();
ТипПараметра = ТипЗнч(Тип);
diff --git a/exts/yaxunit/src/CommonModules/ЮТФабрика/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТФабрика/Module.bsl
index 90094b53..945b15c3 100644
--- a/exts/yaxunit/src/CommonModules/ЮТФабрика/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТФабрика/Module.bsl
@@ -138,7 +138,7 @@
Функция ПараметрыТиповОшибок(Кешировать = Истина) Экспорт
Если Кешировать Тогда
- ЮТПовторногоИспользования.ПараметрыТиповОшибок();
+ ЮТСлужебныйПовторногоИспользования.ПараметрыТиповОшибок();
КонецЕсли;
Статусы = СтатусыИсполненияТеста();
diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo
index 9cb8293f..89cf9fca 100644
--- a/exts/yaxunit/src/Configuration/Configuration.mdo
+++ b/exts/yaxunit/src/Configuration/Configuration.mdo
@@ -59,6 +59,7 @@
CommonModule.ЮТЗапросы
CommonModule.ЮТЗапросыВызовСервера
CommonModule.ЮТЗапросыКлиентСервер
+ CommonModule.ЮТИсключения
CommonModule.ЮТИсполнительГлобальный
CommonModule.ЮТИсполнительКлиент
CommonModule.ЮТИсполнительКлиентСервер
@@ -86,7 +87,6 @@
CommonModule.ЮТОтчетJSON
CommonModule.ЮТОтчетJUnit
CommonModule.ЮТПараметрыЗапуска
- CommonModule.ЮТПовторногоИспользования
CommonModule.ЮТПодражатель
CommonModule.ЮТПодражатель_Банки
CommonModule.ЮТПодражатель_Компании
@@ -100,6 +100,7 @@
CommonModule.ЮТПроверкиСлужебный
CommonModule.ЮТРасширения
CommonModule.ЮТРегистрацияОшибок
+ CommonModule.ЮТСлужебныйПовторногоИспользования
CommonModule.ЮТСобытия
CommonModule.ЮТСообщенияСлужебный
CommonModule.ЮТСравнениеКлиентСервер
diff --git a/exts/yaxunit/src/Subsystems/ЮТДвижок/Subsystems/ЮТСервис/ЮТСервис.mdo b/exts/yaxunit/src/Subsystems/ЮТДвижок/Subsystems/ЮТСервис/ЮТСервис.mdo
index b1403cc6..cd119e2e 100644
--- a/exts/yaxunit/src/Subsystems/ЮТДвижок/Subsystems/ЮТСервис/ЮТСервис.mdo
+++ b/exts/yaxunit/src/Subsystems/ЮТДвижок/Subsystems/ЮТСервис/ЮТСервис.mdo
@@ -11,6 +11,7 @@
Сервисная функциональность работы движка
CommonModule.ЮТАсинхроннаяОбработкаСлужебныйКлиент
+ CommonModule.ЮТИсключения
CommonModule.ЮТКомпоненты
CommonModule.ЮТКомпонентыВызовСервера
CommonModule.ЮТКомпонентыКлиент
@@ -21,10 +22,10 @@
CommonModule.ЮТНастройкиВыполнения
CommonModule.ЮТОбщийВызовСервера
CommonModule.ЮТОтчет
- CommonModule.ЮТПовторногоИспользования
CommonModule.ЮТПроверкиСлужебный
CommonModule.ЮТРасширения
CommonModule.ЮТРегистрацияОшибок
+ CommonModule.ЮТСлужебныйПовторногоИспользования
CommonModule.ЮТСобытия
CommonModule.ЮТСообщенияСлужебный
CommonModule.ЮТТипыДанныхСлужебный
diff --git a/tests/src/CommonModules/ОМ_ЮТТестовыеДанные/Module.bsl b/tests/src/CommonModules/ОМ_ЮТТестовыеДанные/Module.bsl
index b867b035..f9d32822 100644
--- a/tests/src/CommonModules/ОМ_ЮТТестовыеДанные/Module.bsl
+++ b/tests/src/CommonModules/ОМ_ЮТТестовыеДанные/Module.bsl
@@ -48,8 +48,12 @@
.СПараметрами(Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(3, 1, ДопустимыйЗнак.Неотрицательный)))
.СПараметрами(Новый ОписаниеТипов("СправочникСсылка.Банки, ДокументСсылка.Заказ"))
.ДобавитьТест("СлучайноеПредопределенноеЗначение")
+ .ДобавитьТест("СлучайнаяДата")
+ .ДобавитьТест("СлучайноеВремя")
+ .ДобавитьТест("СлучайнаяДатаПосле")
+ .ДобавитьТест("СлучайнаяДатаДо")
;
-
+
КонецПроцедуры
Процедура Удалить() Экспорт
@@ -531,4 +535,81 @@
КонецПроцедуры
+Процедура СлучайнаяДата() Экспорт
+
+ Варианты = ЮТест.Варианты("Начало, Окончание")
+ .Добавить('20000101', '20000101')
+ .Добавить('20000101', '20000102')
+ .Добавить('20000101', '20000101235959')
+ .Добавить('20000101', '20000101010000')
+ .Добавить('20000101', '20000101000001');
+
+ Для Каждого Вариант Из Варианты.СписокВариантов() Цикл
+
+ Результат = ЮТТестовыеДанные.СлучайнаяДата(Вариант.Начало, Вариант.Окончание);
+
+ ЮТест.ОжидаетЧто(Результат)
+ .ИмеетТип("Дата")
+ .МеждуВключаяГраницы(Вариант.Начало, Вариант.Окончание);
+
+ КонецЦикла;
+
+КонецПроцедуры
+
+Процедура СлучайноеВремя() Экспорт
+
+ Для Инд = 1 По 50 Цикл
+
+ Результат = ЮТТестовыеДанные.СлучайноеВремя();
+
+ ЮТест.ОжидаетЧто(Результат)
+ .ИмеетТип("Дата")
+ .МеждуВключаяГраницы('00010101000000', '00010101235959');
+
+ КонецЦикла;
+
+КонецПроцедуры
+
+Процедура СлучайнаяДатаПосле() Экспорт
+
+ Варианты = ЮТест.Варианты("Начало, Интервал, ТипИнтервала, Максимум")
+ .Добавить('20000101', 1, "час", '20000101010000')
+ .Добавить('20000101', 7, "дней", '20000108')
+ .Добавить('20000101', 12, "месяцев", '20010101')
+ .Добавить('20000101', 3, "секунды", '20000101000003')
+ .Добавить('20000101', Неопределено, Неопределено, '39991231');
+
+ Для Каждого Вариант Из Варианты.СписокВариантов() Цикл
+
+ Результат = ЮТТестовыеДанные.СлучайнаяДатаПосле(Вариант.Начало, Вариант.Интервал, Вариант.ТипИнтервала);
+
+ ЮТест.ОжидаетЧто(Результат)
+ .ИмеетТип("Дата")
+ .МеждуВключаяОкончаниеГраницы(Вариант.Начало, Вариант.Максимум);
+
+ КонецЦикла;
+
+КонецПроцедуры
+
+Процедура СлучайнаяДатаДо() Экспорт
+
+ Варианты = ЮТест.Варианты("Дата, Интервал, ТипИнтервала, Минимум")
+ .Добавить('20010101', 1, "час", '20001231230000')
+ .Добавить('20010101', 7, "дней", '20001225')
+ .Добавить('20010101', 12, "месяцев", '20000101')
+ .Добавить('20010101', 3, "секунды", '20001231235957')
+ .Добавить('20010101', Неопределено, Неопределено, '00010101');
+
+ Для Каждого Вариант Из Варианты.СписокВариантов() Цикл
+
+ Результат = ЮТТестовыеДанные.СлучайнаяДатаДо(Вариант.Дата, Вариант.Интервал, Вариант.ТипИнтервала);
+
+ ЮТест.ОжидаетЧто(Результат)
+ .ИмеетТип("Дата")
+ .МеждуВключаяНачалоГраницы(Вариант.Минимум, Вариант.Дата);
+
+ КонецЦикла;
+
+КонецПроцедуры
+
#КонецОбласти