1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-01-20 18:48:36 +02:00

fix: Исправление whitespaces

This commit is contained in:
Abramov Dmitry 2023-07-14 13:32:31 +00:00
parent b65b7d779d
commit 717d71a759
2 changed files with 160 additions and 160 deletions

View File

@ -19,334 +19,334 @@
#Область ПрограммныйИнтерфейс
// Создает новый элемент и возвращает его ссылку.
//
//
// Параметры:
// Менеджер - Произвольный - Менеджер справочника/ПВХ и тд.
// Наименование - Строка, Неопределено - Наименование элемента
// Реквизиты - Структура, Неопределено - Значения реквизитов элемента
//
//
// Возвращаемое значение:
// ЛюбаяСсылка - Ссылка на созданный объект
Функция СоздатьЭлемент(Менеджер, Наименование = Неопределено, Реквизиты = Неопределено) Экспорт
Если Реквизиты <> Неопределено Тогда
Данные = Реквизиты;
Иначе
Данные = Новый Структура;
КонецЕсли;
Если ЗначениеЗаполнено(Наименование) Тогда
Данные.Вставить("Наименование", Наименование);
КонецЕсли;
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, Неопределено, Ложь);
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);
Возврат Ссылка;
КонецФункции
// Создает новый документ и возвращает его ссылку.
//
//
// Параметры:
// Менеджер - Произвольный - Менеджер справочника/ПВХ и тд.
// Реквизиты - Структура, Неопределено - Значения реквизитов элемента
//
//
// Возвращаемое значение:
// ДокументСсылка - Ссылка на созданный объект
Функция СоздатьДокумент(Менеджер, Реквизиты = Неопределено) Экспорт
Если Реквизиты <> Неопределено Тогда
Данные = Реквизиты;
Иначе
Данные = Новый Структура;
КонецЕсли;
Если Данные.Свойство("РежимЗаписи") Тогда
ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи();
ПараметрыЗаписи.РежимЗаписи = Данные.РежимЗаписи;
Данные.Удалить("РежимЗаписи");
КонецЕсли;
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь);
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);
Возврат Ссылка;
КонецФункции
// Создает новую группу
//
//
// Параметры:
// Менеджер - Произвольный - Менеджер справочника/ПВХ и тд.
// Наименование - Строка, Неопределено - Наименование элемента
// Реквизиты - Структура, Неопределено - Значения реквизитов элемента
//
//
// Возвращаемое значение:
// ЛюбаяСсылка - Ссылка на созданную группу
Функция СоздатьГруппу(Менеджер, Наименование = Неопределено, Реквизиты = Неопределено) Экспорт
Если Реквизиты <> Неопределено Тогда
Данные = Реквизиты;
Иначе
Данные = Новый Структура;
КонецЕсли;
Данные.Вставить("ЭтоГруппа", Истина);
Возврат СоздатьЭлемент(Менеджер, Наименование, Данные);
КонецФункции
// Генерирует и возвращает случайное число.
//
//
// Параметры:
// Минимум - Неопределено, Число - Минимальное значение
// Максимум - Неопределено, Число - Максимальное значение
// ЗнаковПослеЗапятой - Число - Количество знаков после запятой
//
//
// Возвращаемое значение:
// Число - Случайное число
Функция СлучайноеЧисло(Минимум = 0, Максимум = Неопределено, ЗнаковПослеЗапятой = 0) Экспорт
#Если ВебКлиент Тогда
ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТестовыеДанные.СлучайноеЧисло");
#Иначе
Генератор = ЮТКонтекст.ЗначениеКонтекста("ГенераторСлучайныхЧисел");
Если Генератор = Неопределено Тогда
Генератор = Новый ГенераторСлучайныхЧисел();
ЮТКонтекст.УстановитьЗначениеКонтекста("ГенераторСлучайныхЧисел", Генератор);
КонецЕсли;
Если Максимум = Неопределено Тогда
Результат = Генератор.СлучайноеЧисло(Минимум);
Иначе
Результат = Генератор.СлучайноеЧисло(Минимум, Максимум);
КонецЕсли;
Если ЗнаковПослеЗапятой > 0 Тогда
Множитель = Pow(10, ЗнаковПослеЗапятой);
Результат = Результат + Окр(Генератор.СлучайноеЧисло(0, Множитель) / Множитель, ЗнаковПослеЗапятой);
КонецЕсли;
Возврат Результат;
#КонецЕсли
КонецФункции
// Генерирует и возвращает случайное положительное число.
//
//
// Параметры:
// Максимум - Неопределено, Число - Максимальное значение
// ЗнаковПослеЗапятой - Число - Знаков после запятой
//
//
// Возвращаемое значение:
// Число - Случайное положительное число
Функция СлучайноеПоложительноеЧисло(Максимум = Неопределено, ЗнаковПослеЗапятой = 0) Экспорт
Возврат СлучайноеЧисло(1, Максимум, ЗнаковПослеЗапятой);
КонецФункции
// Генерирует и возвращает случайное отрицательное число.
//
//
// Параметры:
// Минимум - Неопределено, Число - Минимальное значение
// ЗнаковПослеЗапятой - Число - Знаков после запятой
//
//
// Возвращаемое значение:
// Число - Случайное отрицательное число
Функция СлучайноеОтрицательноеЧисло(Минимум = Неопределено, ЗнаковПослеЗапятой = 0) Экспорт
Возврат -СлучайноеЧисло(0, -Минимум, ЗнаковПослеЗапятой);
КонецФункции
// Генерирует и возвращает случайную строку указанной длины, строка может содержать цифры, английские и русские буквы в разных регистрах.
//
//
// Параметры:
// Длина - Число - Длина генерируемой строки, без учета префикса
// Префикс - Строка - Префикс строки
// ДопустимыеСимволы - Строка - Допустимые символы из которая будет формироваться случайно строка
//
//
// Возвращаемое значение:
// Строка - Случайная строка
Функция СлучайнаяСтрока(Знач Длина = 10, Префикс = "", ДопустимыеСимволы = Неопределено) Экспорт
Если ДопустимыеСимволы = Неопределено Тогда
Строка = "1234567890абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
Иначе
Строка = ДопустимыеСимволы;
КонецЕсли;
Результат = "";
КоличествоСимволов = СтрДлина(Строка);
Длина = Длина - СтрДлина(Префикс);
Для Инд = 1 По Длина Цикл
Результат = Результат + Сред(Строка, СлучайноеЧисло(1, КоличествоСимволов), 1);
КонецЦикла;
Возврат Префикс + Результат;
КонецФункции
// Генерирует и возвращает случайную дату в указанном интервале (если не указан используется `0001-01-01 - 3999-12-31`).
//
//
// Параметры:
// Минимум - Дата - Минимальное значение случайной даты
// - Неопределено - Если не указано используется `0001-01-01`
// Максимум - Дата - Максимальное значение случайной даты
// - Неопределено - Если не указано используется `3999-12-31`
//
//
// Возвращаемое значение:
// Дата - Случайная дата
Функция СлучайнаяДата(Знач Минимум = Неопределено, Знач Максимум = Неопределено) Экспорт
Если Минимум = Неопределено Тогда
Минимум = '00010101';
КонецЕсли;
Если Максимум = Неопределено Тогда
Максимум = '39991231';
КонецЕсли;
СекундВДне = 86400;
КоличествоДней = Цел((Максимум - Минимум) / СекундВДне);
Возврат Минимум + СлучайноеЧисло(0, КоличествоДней) * СекундВДне + СлучайноеЧисло(0, СекундВДне);
КонецФункции
// Генерирует и возвращает случайный IP адрес.
//
//
// Возвращаемое значение:
// Строка - Случайный IP адрес
Функция СлучайныйIPАдрес() Экспорт
Части = Новый Массив();
Части.Добавить(СлучайноеЧисло(1, 253));
Части.Добавить(СлучайноеЧисло(1, 253));
Части.Добавить(СлучайноеЧисло(1, 253));
Части.Добавить(СлучайноеЧисло(1, 253));
Возврат СтрСоединить(Части, ".");
КонецФункции
// Генерирует и возвращает уникальную строку, формируется из уникального идентификатора.
//
//
// Параметры:
// Префикс - Строка - Префикс строки
//
//
// Возвращаемое значение:
// Строка - Уникальная строка
Функция УникальнаяСтрока(Префикс = "") Экспорт
Возврат Префикс + Новый УникальныйИдентификатор();
КонецФункции
// Возвращает случайный элемент списка.
//
//
// Параметры:
// Список - Массив из Произвольный - Коллекция возможных значений
//
//
// Возвращаемое значение:
// Произвольный - случайное значение из списка
Функция СлучайноеЗначениеИзСписка(Список) Экспорт
Индекс = СлучайноеЧисло(0, Список.ВГраница());
Возврат Список[Индекс];
КонецФункции
// Возвращает случайно логическое значение.
//
//
// Возвращаемое значение:
// Булево - Случайное булево
Функция СлучайноеБулево() Экспорт
Возврат СлучайноеЧисло() %2 = 0;
КонецФункции
// Создает новый файл, который будет удален после теста
//
//
// Параметры:
// Содержимое - Строка, Неопределено - Содержимое файла
// ТолькоЧтение - Булево - Установить атрибут `только чтение`
// Расширение - Строка, Неопределено - Расширение нового файла
//
//
// Возвращаемое значение:
// Строка - Новый файл
Функция НовыйФайл(Содержимое = Неопределено, ТолькоЧтение = Ложь, Расширение = Неопределено) Экспорт
Результат = НовоеИмяВременногоФайла(Расширение);
ЗаписьДанных = Новый ЗаписьДанных(Результат);
Если Содержимое <> Неопределено Тогда
ЗаписьДанных.ЗаписатьСимволы(Содержимое);
КонецЕсли;
ЗаписьДанных.Закрыть();
Если ТолькоЧтение Тогда
СозданныйФайл = Новый Файл(Результат);
СозданныйФайл.УстановитьТолькоЧтение(Истина);
КонецЕсли;
Возврат Результат;
КонецФункции
// Возвращает имя нового файла.
// По окончании выполнения теста этот файл будет удален.
//
//
// Параметры:
// Расширение - Строка - Расширение нового файла
//
//
// Возвращаемое значение:
// Строка
Функция НовоеИмяВременногоФайла(Расширение = Неопределено) Экспорт
Возврат ЮТТестовыеДанныеСлужебный.НовоеИмяВременногоФайла(Расширение);
КонецФункции
// Читает таблицу MarkDown в массив структур
//
//
// Параметры:
// Строки - Строка - Таблица markdown
//
//
// Возвращаемое значение:
// Массив из Структура - Данные таблицы markdown
Функция ТаблицаMarkDown(Строки) Экспорт
ЗагрузилиЗаголовок = Ложь;
Результат = Новый Массив();
Ключи = "";
Разделитель = "|";
Кодировка = КодировкаТекста.UTF8;
Поток = ПолучитьДвоичныеДанныеИзСтроки(Строки, Кодировка).ОткрытьПотокДляЧтения();
Чтение = Новый ЧтениеТекста(Поток, Кодировка);
Пока Истина Цикл
Строка = Чтение.ПрочитатьСтроку();
Если Строка = Неопределено Тогда
Прервать;
КонецЕсли;
Строка = СокрЛП(Строка);
Если ПустаяСтрока(Строка) Тогда
Продолжить;
ИначеЕсли НЕ СтрНачинаетсяС(Строка, Разделитель) Тогда
@ -356,16 +356,16 @@
Продолжить;
КонецЕсли;
КонецЕсли;
Блоки = СтрРазделить(Строка, Разделитель);
Если ЗагрузилиЗаголовок Тогда
Если Блоки.Количество() <> Ключи.Количество() Тогда
ВызватьИсключение СтрШаблон("Количество значений в строке (%1) Markdown не совпадает с количеством заголовков (%2):
|%3", Блоки.Количество(), Ключи.Количество(), Строка);
КонецЕсли;
СтрокаРезультата = Новый Структура();
Для Инд = 1 По Блоки.ВГраница() - 1 Цикл
СтрокаРезультата.Вставить(Ключи[Инд], СокрЛП(Блоки[Инд]));
@ -379,68 +379,68 @@
Чтение.ПрочитатьСтроку(); // Пропуск строки разделителя
ЗагрузилиЗаголовок = Истина;
КонецЕсли;
КонецЦикла;
Чтение.Закрыть();
Поток.Закрыть();
Возврат Результат;
КонецФункции
// Формирует структуру на основании таблицы Markdown
//
//
// Параметры:
// Ключ - Строка - Имя ключевой колонки
// Строки - Строка - Таблица markdown
//
//
// Возвращаемое значение:
// Структура
Функция СтруктураMarkDown(Ключ, Строки) Экспорт
Таблица = ТаблицаMarkDown(Строки);
Результат = Новый Структура();
Для Каждого Строка Из Таблица Цикл
Результат.Вставить(Строка[Ключ], Строка);
КонецЦикла;
Возврат Результат;
КонецФункции
// Формирует массив различных комбиначий параметров
//
//
// Предназначено для формирования таблицы возможных значений параметров для краш теста метода.
//
//
// Параметры:
// ЗначенияПоУмолчанию - Структура - Значения параметров по умолчанию.
// ЗначенияПараметров - Структура - Массивы значений для каждого параметра.
//
//
// Возвращаемое значение:
// Массив из Структура - Варианты параметров.
Функция ВариантыПараметров(ЗначенияПоУмолчанию, ЗначенияПараметров) Экспорт
Варианты = Новый Массив;
Варианты.Добавить(ЗначенияПоУмолчанию);
Ключи = ЮТОбщий.ВыгрузитьЗначения(ЗначенияПараметров, "Ключ");
ДобавитьВарианты(Варианты, ЗначенияПоУмолчанию, ЗначенияПараметров, Ключи, 0);
Возврат Варианты;
КонецФункции
// Возвращает конструктор создания тестовых данных
//
//
// Конструктор имеет ряд особенностей:
//
// * Нельзя использовать параллельно несколько конструкторов.
//
// * Нельзя использовать параллельно несколько конструкторов.
// Например
//
//
// ```bsl
// Пользователь = КонструкторОбъекта(Справочники.Пользователи);
// Документ = КонструкторОбъекта(Документы.Приход);
@ -448,34 +448,34 @@
// Пользователь.Записать();
// Документ.Провести();
// ```
//
//
// * Создание объекта происходит при вызове методов `Записать` и `Провести`, а создание реквизитов происходит во время вызова методов установки.
// * При использовании на клиенте все значения должны быть сериализуемыми.
//
//
// Параметры:
// Менеджер - Строка - Имя менеджера. Примеры: Справочники.Товары, Документы.ПриходТоваров
//
//
// Возвращаемое значение:
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных
Функция КонструкторОбъекта(Менеджер) Экспорт
Возврат ЮТКонструкторТестовыхДанныхСлужебный.Инициализировать(Менеджер);
КонецФункции
// Удаляет переданные объекта
//
//
// Параметры:
// Ссылки - Массив из ЛюбаяСсылка
Процедура Удалить(Ссылки) Экспорт
Если ЗначениеЗаполнено(Ссылки) Тогда
ЮТТестовыеДанныеВызовСервера.Удалить(Ссылки);
КонецЕсли;
КонецПроцедуры
// Возвращает подражатель для формирования осмысленных значений.
// Возвращает объект подражателя для формирования осмысленных тестовых данных
//
// Возвращаемое значение:
// ОбщийМодуль - Подражатель
@ -485,13 +485,13 @@
#Если Сервер Тогда
// Возвращает мок для `HTTPСервисЗапрос`.
//
//
// Возвращаемое значение:
// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок
Функция HTTPСервисЗапрос() Экспорт
Возврат Обработки.ЮТHTTPСервисЗапрос.Создать();
КонецФункции
#КонецЕсли
@ -500,20 +500,20 @@
#Область СлужебныеПроцедурыИФункции
Процедура ДобавитьВарианты(Варианты, БазоваяСтруктура, ЗначенияПараметров, Ключи, Инд)
Если Инд > Ключи.ВГраница() Тогда
Возврат;
КонецЕсли;
Ключ = Ключи[Инд];
Для Каждого Значение Из ЗначенияПараметров[Ключ] Цикл
Вариант = ЮТОбщий.СкопироватьСтруктуру(БазоваяСтруктура);
Вариант[Ключ] = Значение;
Варианты.Добавить(Вариант);
ДобавитьВарианты(Варианты, Вариант, ЗначенияПараметров, Ключи, Инд + 1);
КонецЦикла;
КонецПроцедуры

View File

@ -19,7 +19,7 @@
#Область СлужебныйПрограммныйИнтерфейс
Процедура ИсполняемыеСценарии() Экспорт
ЮТТесты
.ДобавитьТест("ИсполняемыеСценарииМодуля")
.ДобавитьТестовыйНабор("ЭтоТестовыйМодуль", "Параметризированный, 1,2")
@ -31,27 +31,27 @@
.ДобавитьТестовыйНабор("ЗагрузкаТестов")
.ДобавитьКлиентскийТест("ЗагрузитьТесты")
;
КонецПроцедуры
Процедура ЗагрузитьТесты() Экспорт
ПараметрыЗапуска = ЮТФабрика.ПараметрыЗапуска();
ПараметрыЗапуска.filter.extensions = Неопределено;
ПараметрыЗапуска.filter.modules = ЮТОбщий.ЗначениеВМассиве("ОМ_ЮТЧитатель");
Наборы = ЮТЧитатель.ЗагрузитьТесты(ПараметрыЗапуска);
ЮТест.ОжидаетЧто(Наборы, "Прочитанные наборы")
.ИмеетТип("Массив")
.ИмеетДлину(1);
НаборМодуля = Наборы[0];
ЮТест.ОжидаетЧто(НаборМодуля, "Набор тестов ОМ_ЮТЧитатель")
.ИмеетТип("Структура")
.Свойство("МетаданныеМодуля").ИмеетТип("Структура")
.Свойство("НаборыТестов").ИмеетТип("Массив");
МетаданныеМодуля = НаборМодуля.МетаданныеМодуля;
ЮТест.ОжидаетЧто(МетаданныеМодуля, "Метаданные модуля")
.Заполнено()
@ -62,13 +62,13 @@
.Свойство("ВызовСервера").Равно(Ложь)
.Свойство("ПолноеИмя").Равно("tests.ОМ_ЮТЧитатель")
.Свойство("Сервер").Равно(Ложь);
НаборыТестов = НаборМодуля.НаборыТестов;
ЮТест.ОжидаетЧто(НаборыТестов, "Наборы тестов модуля")
.ИмеетТип("Массив")
.ИмеетДлину(3);
ЮТест.ОжидаетЧто(НаборыТестов[0], "Набор тестов по умолчанию")
.ИмеетТип("Структура")
.Свойство("Имя").Равно("ОМ_ЮТЧитатель")
@ -76,29 +76,29 @@
.Свойство("Ошибки").ИмеетТип("Массив").НеЗаполнено()
.Свойство("Теги").ИмеетТип("Массив").НеЗаполнено()
.Свойство("Тесты").ИмеетТип("Массив").ИмеетДлину(1);
Тесты = НаборыТестов[0].Тесты;
ЮТест.ОжидаетЧто(Тесты.Количество(), "Количество тестов модуля")
.БольшеИлиРавно(1);
ЮТест.ОжидаетЧто(Тесты[0], "Первый тест")
.Свойство("Имя").Равно("ИсполняемыеСценарииМодуля")
.Свойство("Представление").НеЗаполнено()
.Свойство("Теги").Равно(Новый Массив())
.Свойство("КонтекстВызова").Равно(ЮТОбщий.ЗначениеВМассиве("КлиентУправляемоеПриложение"));
ПараметрыЗапуска = ЮТФабрика.ПараметрыЗапуска();
ПараметрыЗапуска.filter.extensions = ЮТОбщий.ЗначениеВМассиве("tests");
Наборы = ЮТЧитатель.ЗагрузитьТесты(ПараметрыЗапуска);
ЮТест.ОжидаетЧто(Наборы, "Прочитанные наборы расширения tests")
.ИмеетДлину(18);
КонецПроцедуры
Процедура ИсполняемыеСценарииМодуля() Экспорт
МетаданныеМодуля = Новый Структура;
МетаданныеМодуля.Вставить("Имя", "ОМ_ЮТЧитатель");
МетаданныеМодуля.Вставить("КлиентУправляемоеПриложение", Истина);
@ -106,10 +106,10 @@
МетаданныеМодуля.Вставить("Клиент", Ложь);
МетаданныеМодуля.Вставить("Сервер", Истина);
МетаданныеМодуля.Вставить("ВызовСервера", Ложь);
ЮТФильтрация.УстановитьКонтекст(Новый Структура("filter", Новый Структура));
ОписаниеМодуля = ЮТЧитатель.ИсполняемыеСценарииМодуля(МетаданныеМодуля);
ЮТест.ОжидаетЧто(ОписаниеМодуля, "ОписаниеМодуля")
.ИмеетТип("Структура")
.Свойство("НаборыТестов")
@ -119,11 +119,11 @@
.Элемент("НаборыТестов[2]").ИмеетТип("Структура")
;
Сценарии = ОписаниеМодуля.НаборыТестов;
НаборПоУмолчанию = Сценарии[0];
НаборЭтоТестовыйМодуль = Сценарии[1];
НаборЗагрузкаТестов = Сценарии[2];
ЮТест.ОжидаетЧто(НаборПоУмолчанию, "Набор по умолчанию")
.Свойство("Имя").Равно("ОМ_ЮТЧитатель")
.Свойство("Представление").Равно("ОМ_ЮТЧитатель")
@ -134,28 +134,28 @@
.Свойство("Тесты[0].Теги").ИмеетДлину(0)
.Свойство("Тесты[0].КонтекстВызова").Равно(ЮТОбщий.ЗначениеВМассиве("Сервер", "КлиентУправляемоеПриложение"))
;
ЮТест.ОжидаетЧто(НаборЗагрузкаТестов, "Набор 'ЗагрузкаТестов'")
.Свойство("Имя").Равно("ЗагрузкаТестов")
.Свойство("Тесты").ИмеетДлину(1)
.Свойство("Тесты[0].Имя").Равно("ЗагрузитьТесты")
.Свойство("Тесты[0].КонтекстВызова").Равно(ЮТОбщий.ЗначениеВМассиве("КлиентУправляемоеПриложение"))
;
ЮТест.ОжидаетЧто(НаборЭтоТестовыйМодуль, "Набор 'ЭтоТестовыйМодуль'")
.Свойство("Имя").Равно("ЭтоТестовыйМодуль")
.Свойство("Тесты").ИмеетДлину(4)
.Свойство("Теги").ИмеетДлину(3)
;
КонецПроцедуры
Процедура ЭтоТестовыйМодуль(ИмяМодуля, ЭтоТестовый) Экспорт
ОписаниеМодуля = ЮТМетаданныеСервер.МетаданныеМодуля(ИмяМодуля);
ЮТест.ОжидаетЧто(ЮТЧитатель.ЭтоТестовыйМодуль(ОписаниеМодуля), "Проверка модуля " + ИмяМодуля)
.Равно(ЭтоТестовый);
КонецПроцедуры
#КонецОбласти