/
EvilBeaver
/
OneScript
Обзор
Документация
Войти
/
EvilBeaver
/
OneScript
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
v1.6.0
tests/stringoperations.os
406 строк
21 KB
Andrey.Ovsyankin
Удалил упоминание устаревшего метода из tests
30 дек 2019, 18:43
30 дек 2019, 18:43
b8403c2
Код
Авторство
О чём код?
Перем юТест; Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт юТест = ЮнитТестирование; ВсеТесты = Новый Массив; ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрНачинаетсяС_НаКириллице"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрНачинаетсяС_НаЛатинице"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрНачинаетсяС_СПустойСтрокойПоиска"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрНачинаетсяС_ПодстрокаНеНайдена"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрНачинаетсяС_ИсходнаяСтрокаНеЗадана"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрЗаканчиваетсяНа_НаКириллице"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрЗаканчиваетсяНа_НаЛатинице"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрЗаканчиваетсяНа_СПустойСтрокойПоиска"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрЗаканчиваетсяНа_ПодстрокаНеНайдена"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрЗаканчиваетсяНа_ИсходнаяСтрокаНеЗадана"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрРазделить_НаКириллице"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрРазделить_НаЛатинице"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрРазделить_СПустойСтрокой"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрРазделить_СПустойСтрокойРазделителя"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрРазделить_РазделениеБезПустых"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрРазделить_РазделениеСПустыми"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрРазделить_СПустойСтрокойБезПустых"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрРазделить_Авторазделение"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрРазделить_ПараметрыНеЗаданы"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрШаблон_БезПараметровДанных"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрШаблон_ИсключениеПриПустомЗнакеПроцента"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрШаблон_ИсключениеПриНомере0"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрШаблон_ИсключениеПриНомереБольше10"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрШаблон_КорректнаяЗамена"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрШаблон_СЭкранированием"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрСоединить_СРазделителем"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрСоединить_БезРазделителя"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрНайти_КакФункциюНайти"); ВсеТесты.Добавить("ТестДолжен_ПроверитьВхождениеСтрокиСНачалаПоОшибке171"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрНайти_СТретьейПозиции"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрНайти_ВтороеВхождениеСНачала"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрНайти_ВтороеВхождениеСКонца"); ВсеТесты.Добавить("ТестДолжен_ВызватьМетод_СтрНайти_ВтороеВхождениеСКонцаНачинаяСПредпоследнегоСимвола"); ВсеТесты.Добавить("Тест_ДолженПроверитьНСтрВозвращаетПервуюСтроку"); ВсеТесты.Добавить("ТестДолжен_Проверить_Что_НСТР_С_СуществующимПараметром_ВозвращаетНужнуюСтроку"); ВсеТесты.Добавить("ТестДолжен_Проверить_Что_НСТР_С_НесуществующимПараметром_ВозвращаетПустуюСтроку"); ВсеТесты.Добавить("ТестДолжен_ПроверитьГраничныеУсловияСтр"); Возврат ВсеТесты; КонецФункции Процедура ТестДолжен_ПроверитьГраничныеУсловияСтр() Экспорт Текст = "Привет"; юТест.ПроверитьРавенство("Привет",Сред(Текст,1,6)); юТест.ПроверитьРавенство("Приве",Сред(Текст,1,5)); юТест.ПроверитьРавенство("ет",Сред(Текст,5,4)); юТест.ПроверитьРавенство("т",Сред(Текст,6,1)); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрНачинаетсяС_НаКириллице() Экспорт //arrange //act Рез = СтрНачинаетсяС("Проверка", "Пров"); //assert юТест.ПроверитьРавенство(Истина, Рез); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрНачинаетсяС_НаЛатинице() Экспорт //arrange //act Рез = StrStartsWith("Проверка", "Пров"); //assert юТест.ПроверитьРавенство(Истина, Рез); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрНачинаетсяС_СПустойСтрокойПоиска() Экспорт ТекстОшибки = ""; //arrange //act Попытка Рез = СтрНачинаетсяС("Проверка", ""); Исключение ТекстОшибки = ОписаниеОшибки(); КонецПопытки; //assert //Сообщить("[" + ТекстОшибки + "]"); юТест.ПроверитьРавенство(Истина, Найти(ТекстОшибки, "Недопустимое значение параметра") > 0); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрНачинаетсяС_ПодстрокаНеНайдена() Экспорт //arrange //act Рез = СтрНачинаетсяС("Проверка", "Тест"); //assert юТест.ПроверитьРавенство(Ложь, Рез); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрНачинаетсяС_ИсходнаяСтрокаНеЗадана() Экспорт ТекстОшибки = ""; //arrange //act Рез = СтрНачинаетсяС(Неопределено, "1"); //assert юТест.ПроверитьРавенство(Ложь, Рез); КонецПроцедуры //------------------------------------------------------------ Процедура ТестДолжен_ВызватьМетод_СтрЗаканчиваетсяНа_НаКириллице() Экспорт //arrange //act Рез = СтрЗаканчиваетсяНа("Проверка", "верка"); //assert юТест.ПроверитьРавенство(Истина, Рез); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрЗаканчиваетсяНа_НаЛатинице() Экспорт //arrange //act Рез = StrEndsWith("Проверка", "верка"); //assert юТест.ПроверитьРавенство(Истина, Рез); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрЗаканчиваетсяНа_СПустойСтрокойПоиска() Экспорт ТекстОшибки = ""; //arrange //act Попытка Рез = СтрЗаканчиваетсяНа("Проверка", ""); Исключение ТекстОшибки = ОписаниеОшибки(); КонецПопытки; //assert юТест.ПроверитьРавенство(Истина, Найти(ТекстОшибки, "Недопустимое значение параметра") > 0); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрЗаканчиваетсяНа_ПодстрокаНеНайдена() Экспорт //arrange //act Рез = СтрЗаканчиваетсяНа("Проверка", "Тест"); //assert юТест.ПроверитьРавенство(Ложь, Рез); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрЗаканчиваетсяНа_ИсходнаяСтрокаНеЗадана() Экспорт //arrange //act Рез = СтрЗаканчиваетсяНа(Неопределено, "1"); //assert юТест.ПроверитьРавенство(Ложь, Рез); КонецПроцедуры //------------------------------------------------------------ Процедура ТестДолжен_ВызватьМетод_СтрРазделить_НаКириллице() Экспорт //arrange //act мРезультат = СтрРазделить("0,1,2,3,4,5", ","); //assert юТест.ПроверитьРавенство(6, мРезультат.Количество()); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрРазделить_НаЛатинице() Экспорт //arrange //act мРезультат = StrSplit("0,1,2,3,4,5", ","); //assert юТест.ПроверитьРавенство(6, мРезультат.Количество()); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрРазделить_СПустойСтрокой() Экспорт ТекстОшибки = ""; //arrange //act мРезультат = СтрРазделить("", ","); //assert юТест.ПроверитьРавенство(1, мРезультат.Количество()); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрРазделить_СПустойСтрокойБезПустых() Экспорт ТекстОшибки = ""; //arrange //act мРезультат = СтрРазделить("", ",", ложь); //assert юТест.ПроверитьРавенство(0, мРезультат.Количество()); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрРазделить_СПустойСтрокойРазделителя() Экспорт ТекстОшибки = ""; //arrange //act Попытка мРезультат = СтрРазделить("0,1,2,3,4,5", ""); Исключение ТекстОшибки = ОписаниеОшибки(); КонецПопытки; //assert юТест.ПроверитьРавенство("0,1,2,3,4,5", мРезультат[0]); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрРазделить_РазделениеБезПустых() Экспорт //arrange //act мРезультат = СтрРазделить("0,1,2,,4,5", ",", Ложь); //assert юТест.ПроверитьРавенство(5, мРезультат.Количество()); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрРазделить_РазделениеСПустыми() Экспорт //arrange //act мРезультат = СтрРазделить("0,1,2,,4,5", ",", Истина); //assert юТест.ПроверитьРавенство(6, мРезультат.Количество()); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрРазделить_Авторазделение() Экспорт //arrange //act мРезультат = СтрРазделить("0,1,2,,4,5", ","); //assert юТест.ПроверитьРавенство(6, мРезультат.Количество()); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрРазделить_ПараметрыНеЗаданы() Экспорт ТекстОшибки = ""; //arrange //act Попытка мРезультат = СтрРазделить(Неопределено, Неопределено); Исключение ТекстОшибки = ОписаниеОшибки(); КонецПопытки; //assert юТест.ПроверитьРавенство(1, мРезультат.Количество()); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрШаблон_БезПараметровДанных() Экспорт Шаблон = "%1 %2 %3 %4 %5 %6 %7 %8 %9 %10"; результат = СтрШаблон(Шаблон); юТест.ПроверитьРавенство(" ", результат); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрШаблон_ИсключениеПриПустомЗнакеПроцента() Экспорт Попытка а = СтрШаблон("тест % тест"); Исключение юТест.ТестПройден(); Возврат; КонецПопытки; юТест.ТестПровален("Ожидаемое исключение не возникло."); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрШаблон_ИсключениеПриНомере0() Экспорт Попытка а = СтрШаблон("тест %0 тест"); Исключение юТест.ТестПройден(); Возврат; КонецПопытки; юТест.ТестПровален("Ожидаемое исключение не возникло."); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрШаблон_ИсключениеПриНомереБольше10() Экспорт Попытка а = СтрШаблон("тест %12 тест"); Исключение юТест.ТестПройден(); Возврат; КонецПопытки; юТест.ТестПровален("Ожидаемое исключение не возникло."); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрШаблон_КорректнаяЗамена() Экспорт Шаблон = "Привет, %2, я %1!"; Результат = СтрШаблон(Шаблон, "OneScript", "%username%"); юТест.ПроверитьРавенство("Привет, %username%, я OneScript!", Результат); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрШаблон_СЭкранированием() Экспорт Шаблон = "тест %%1 тест"; Результат = СтрШаблон(Шаблон); юТест.ПроверитьРавенство("тест %1 тест", Результат); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрСоединить_БезРазделителя() Экспорт Массив = Новый Массив; Массив.Добавить("Один"); Массив.Добавить("Два"); Массив.Добавить("Три"); юТест.ПроверитьРавенство("ОдинДваТри", СтрСоединить(Массив)); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрСоединить_СРазделителем() Экспорт Массив = Новый Массив; Массив.Добавить("Один"); Массив.Добавить("Два"); Массив.Добавить("Три"); юТест.ПроверитьРавенство("Один, Два, Три", СтрСоединить(Массив, ", ")); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрНайти_КакФункциюНайти() Экспорт ГдеИщем = "Один,Два,Три"; ЧтоИщем = ","; юТест.ПроверитьРавенство(5, СтрНайти(ГдеИщем, ЧтоИщем)); юТест.ПроверитьРавенство(0, СтрНайти(ГдеИщем, "%")); КонецПроцедуры Процедура ТестДолжен_ПроверитьВхождениеСтрокиСНачалаПоОшибке171() Экспорт СтрокаТест = "abc"; юТест.ПроверитьРавенство(1, СтрНайти(СтрокаТест, "a")); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрНайти_СТретьейПозиции() Экспорт ГдеИщем = "1,2,3"; ЧтоИщем = ","; юТест.ПроверитьРавенство(4, СтрНайти(ГдеИщем, ЧтоИщем,,3)); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрНайти_ВтороеВхождениеСНачала() Экспорт ГдеИщем = "Один,Два,Три"; ЧтоИщем = ","; юТест.ПроверитьРавенство(9, СтрНайти(ГдеИщем, ЧтоИщем,,,2)); юТест.ПроверитьРавенство(9, СтрНайти(ГдеИщем, ЧтоИщем,НаправлениеПоиска.СНачала,,2)); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрНайти_ВтороеВхождениеСКонца() Экспорт ГдеИщем = "Один,Два,Три"; ЧтоИщем = ","; юТест.ПроверитьРавенство(5, СтрНайти(ГдеИщем, ЧтоИщем, НаправлениеПоиска.СКонца,,2)); КонецПроцедуры Процедура ТестДолжен_ВызватьМетод_СтрНайти_ВтороеВхождениеСКонцаНачинаяСПредпоследнегоСимвола() Экспорт ГдеИщем = "Один,Два,Три,"; ЧтоИщем = ","; юТест.ПроверитьРавенство(5, СтрНайти(ГдеИщем, ЧтоИщем, НаправлениеПоиска.СКонца,12,2)); КонецПроцедуры Процедура Тест_ДолженПроверитьНСтрВозвращаетПервуюСтроку() Экспорт Стр = НСтр("ru = 'Строка1'; en = 'Строка2'", "ru"); юТест.ПроверитьРавенство("Строка1", Стр); КонецПроцедуры Процедура ТестДолжен_Проверить_Что_НСТР_С_СуществующимПараметром_ВозвращаетНужнуюСтроку() Экспорт Шаблон = "ru = 'Строка1'; en = 'Строка2'"; Стр = НСтр(Шаблон, "en"); юТест.ПроверитьРавенство("Строка2", Стр); Стр = НСтр(Шаблон, "ru"); юТест.ПроверитьРавенство("Строка1", Стр); КонецПроцедуры Процедура ТестДолжен_Проверить_Что_НСТР_С_НесуществующимПараметром_ВозвращаетПустуюСтроку() Экспорт Стр = НСтр("ru = 'Строка1'; en = 'Строка2'", "unkn"); юТест.ПроверитьРавенство("", Стр); КонецПроцедуры