mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-03-20 20:55:11 +02:00
parent
06f3a93bef
commit
e1671aee64
57
exts/yaxunit/src/CommonModules/ЮТСтроки/Module.bsl
Normal file
57
exts/yaxunit/src/CommonModules/ЮТСтроки/Module.bsl
Normal file
@ -0,0 +1,57 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 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.
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция РусскиеБуквы(НижнийРегистр = Истина, ВерхнийРегистр = Ложь) Экспорт
|
||||
|
||||
Возврат Буквы("абвгдеёжзийклмнопрстуфхцчшщъыьэюя", НижнийРегистр, ВерхнийРегистр);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АнглийскиеБуквы(НижнийРегистр = Истина, ВерхнийРегистр = Ложь) Экспорт
|
||||
|
||||
Возврат Буквы("abcdefghijklmnopqrstuvwxyz", НижнийРегистр, ВерхнийРегистр);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Цифры() Экспорт
|
||||
|
||||
Возврат "1234567890";
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция Буквы(Буквы, НижнийРегистр, ВерхнийРегистр)
|
||||
|
||||
Если НижнийРегистр И ВерхнийРегистр Тогда
|
||||
Возврат Буквы + ВРег(Буквы);
|
||||
ИначеЕсли НижнийРегистр Тогда
|
||||
Возврат Буквы;
|
||||
ИначеЕсли ВерхнийРегистр Тогда
|
||||
Возврат ВРег(Буквы);
|
||||
Иначе
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
11
exts/yaxunit/src/CommonModules/ЮТСтроки/ЮТСтроки.mdo
Normal file
11
exts/yaxunit/src/CommonModules/ЮТСтроки/ЮТСтроки.mdo
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c2bf54a9-2026-41ed-8971-af1be24299c2">
|
||||
<name>ЮТСтроки</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Строки</value>
|
||||
</synonym>
|
||||
<clientManagedApplication>true</clientManagedApplication>
|
||||
<server>true</server>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
@ -166,28 +166,26 @@
|
||||
// Генерирует и возвращает случайную строку указанной длины, строка может содержать цифры, английские и русские буквы в разных регистрах.
|
||||
//
|
||||
// Параметры:
|
||||
// Длина - Число - Длина генерируемой строки, без учета префикса
|
||||
// Длина - Число - Длина генерируемой строки с учетом префикса
|
||||
// Префикс - Строка - Префикс строки
|
||||
// ДопустимыеСимволы - Строка - Допустимые символы из которая будет формироваться случайно строка
|
||||
// ДопустимыеСимволы - Строка - Допустимые символы из которая будет формироваться случайная строка
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Случайная строка
|
||||
Функция СлучайнаяСтрока(Знач Длина = 10, Префикс = "", ДопустимыеСимволы = Неопределено) Экспорт
|
||||
Функция СлучайнаяСтрока(Знач Длина = 10, Префикс = "", Знач ДопустимыеСимволы = Неопределено) Экспорт
|
||||
|
||||
Если ДопустимыеСимволы = Неопределено Тогда
|
||||
Строка = "1234567890абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
||||
Иначе
|
||||
Строка = ДопустимыеСимволы;
|
||||
ДопустимыеСимволы = ЮТСтроки.РусскиеБуквы(Истина, Истина) + ЮТСтроки.АнглийскиеБуквы(Истина, Истина) + ЮТСтроки.Цифры();
|
||||
КонецЕсли;
|
||||
|
||||
Результат = "";
|
||||
КоличествоСимволов = СтрДлина(Строка);
|
||||
КоличествоСимволов = СтрДлина(ДопустимыеСимволы);
|
||||
|
||||
Длина = Длина - СтрДлина(Префикс);
|
||||
|
||||
Для Инд = 1 По Длина Цикл
|
||||
|
||||
Результат = Результат + Сред(Строка, СлучайноеЧисло(1, КоличествоСимволов), 1);
|
||||
Результат = Результат + Сред(ДопустимыеСимволы, СлучайноеЧисло(1, КоличествоСимволов), 1);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@ -195,6 +193,28 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращяет случайный валидный идентификатор
|
||||
//
|
||||
// Параметры:
|
||||
// Длина - Число - Длина генерируемой строки с учетом префикса
|
||||
// Префикс - Строка - Префикс строки
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Случайный идентификатор
|
||||
Функция СлучайныйИдентификатор(Знач Длина = 10, Знач Префикс = "") Экспорт
|
||||
|
||||
НаборСимволов = "_" + ЮТСтроки.РусскиеБуквы(Истина, Истина) + ЮТСтроки.АнглийскиеБуквы(Истина, Истина);
|
||||
|
||||
Если ПустаяСтрока(Префикс) Тогда
|
||||
Префикс = СлучайнаяСтрока(1, "", НаборСимволов);
|
||||
КонецЕсли;
|
||||
|
||||
НаборСимволов = НаборСимволов + ЮТСтроки.Цифры();
|
||||
|
||||
Возврат СлучайнаяСтрока(Длина, Префикс, НаборСимволов);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Генерирует и возвращает случайную дату в указанном интервале (если не указан используется `0001-01-01 - 3999-12-31`).
|
||||
//
|
||||
// Параметры:
|
||||
|
@ -92,6 +92,7 @@
|
||||
<commonModules>CommonModule.ЮТСобытия</commonModules>
|
||||
<commonModules>CommonModule.ЮТСравнениеКлиентСервер</commonModules>
|
||||
<commonModules>CommonModule.ЮТСравнениеСервер</commonModules>
|
||||
<commonModules>CommonModule.ЮТСтроки</commonModules>
|
||||
<commonModules>CommonModule.ЮТТестовыеДанные</commonModules>
|
||||
<commonModules>CommonModule.ЮТТестовыеДанные_ТаблицыЗначений</commonModules>
|
||||
<commonModules>CommonModule.ЮТТестовыеДанныеВызовСервера</commonModules>
|
||||
|
@ -29,6 +29,7 @@
|
||||
.ДобавитьСерверныйТест("СтруктурыТабличногоДокумента")
|
||||
.ДобавитьСерверныйТест("ТаблицаЗначенийИзТабличногоДокумента")
|
||||
.ДобавитьСерверныйТест("ТаблицаЗначенийИзТаблицыMarkDown")
|
||||
.ДобавитьТест("СлучайныйИдентификатор")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -91,6 +92,22 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СлучайныйИдентификатор() Экспорт
|
||||
|
||||
Проверка = Новый Структура();
|
||||
|
||||
Для Инд = 1 По 100 Цикл
|
||||
|
||||
Идентификатор = ЮТест.Данные().СлучайныйИдентификатор(Инд);
|
||||
|
||||
ЮТест.ОжидаетЧто(Проверка)
|
||||
.Метод("Вставить").Параметр(Идентификатор)
|
||||
.НеВыбрасываетИсключение(, "Сформирован не валидный идентификатор: " + Идентификатор);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Если Сервер Тогда
|
||||
|
||||
Процедура СтруктурыТабличногоДокумента() Экспорт
|
||||
|
Loading…
x
Reference in New Issue
Block a user