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'); + + Для Каждого Вариант Из Варианты.СписокВариантов() Цикл + + Результат = ЮТТестовыеДанные.СлучайнаяДатаДо(Вариант.Дата, Вариант.Интервал, Вариант.ТипИнтервала); + + ЮТест.ОжидаетЧто(Результат) + .ИмеетТип("Дата") + .МеждуВключаяНачалоГраницы(Вариант.Минимум, Вариант.Дата); + + КонецЦикла; + +КонецПроцедуры + #КонецОбласти