/
EvilBeaver
/
OneScript
Обзор
Документация
Войти
/
EvilBeaver
/
OneScript
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
tests/global-new.os
177 строк
12 KB
Mr-Rm
fix #1441 v2: функциональный вариант Новый с ФиксированнымМассивом +тест
14 авг 2024, 00:02
14 авг 2024, 00:02
080a854
Код
Авторство
О чём код?
Перем юТест; Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт юТест = ЮнитТестирование; ВсеТесты = Новый Массив; ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеМассива"); ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеОбъектаИзСценария"); ВсеТесты.Добавить("ТестДолжен_ПроверитьПовторноеПодключениеТогоЖеСценария"); ВсеТесты.Добавить("ТестДолжен_ПроверитьОшибочноеПодключениеТогоЖеИмениТипа"); ВсеТесты.Добавить("ТестДолжен_ПроверитьНепосредственноеСозданиеОбъектаИзФайла"); ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеМассиваЧерезФункциюНовый"); ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеЧерезФункциюНовыйИПустойМассивАргументов"); ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеЧерезФункциюНовыйИМассивАргументов"); ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеЧерезФункциюНовыйИФиксированныйМассивАргументов"); ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеОбъектаПоПараметруИмениКласса"); ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеОбъектаПоПараметруИмениКлассаЧерезФункциюНовый"); ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеОбъектаВнутриВызоваФункции"); ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеОбъектаВнутриВызоваФункцииБезСкобокВНовый"); ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеОбъектаВнутриСозданияДругогоОбъекта"); ВсеТесты.Добавить("ТестДолжен_ПроверитьПробросИсключенияИзЗагруженногоСценария"); ВсеТесты.Добавить("ТестДолжен_ПроверитьПробросИсключенияИзОбъектаБиблиотеки"); ВсеТесты.Добавить("ТестДолжен_ПроверитьПолучениеУниверсальнойДаты"); Возврат ВсеТесты; КонецФункции Процедура ТестДолжен_ПроверитьСозданиеМассива() Экспорт Объект = Новый Массив; ПроверитьСозданиеМассива(Объект); КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеМассиваЧерезФункциюНовый() Экспорт Объект = Новый("Массив"); ПроверитьСозданиеМассива(Объект); КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеЧерезФункциюНовыйИПустойМассивАргументов() Экспорт Объект = Новый("Рефлектор", Новый Массив); юТест.ПроверитьРавенство(Тип("Рефлектор"), ТипЗнч(Объект)); КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеЧерезФункциюНовыйИМассивАргументов() Экспорт МассивАрг = Новый Массив; МассивАрг.Добавить(ТекущийСценарий().Источник); Объект = Новый("Файл", МассивАрг); юТест.ПроверитьРавенство(Объект.ПолноеИмя, ТекущийСценарий().Источник); КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеЧерезФункциюНовыйИФиксированныйМассивАргументов() Экспорт Массив = Новый Массив; Массив.Добавить(20); МассивАрг = Новый ФиксированныйМассив(Массив); Объект = Новый("Массив", МассивАрг); юТест.ПроверитьРавенство(Объект.Количество(), 20); КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеОбъектаИзСценария() Экспорт ТекПуть = Новый Файл(ТекущийСценарий().Источник).Путь; ПодключитьСценарий(ТекПуть+"example-test.os", "Пример_example_test"); Пример = Новый Пример_example_test(); юТест.ПроверитьРавенство("0.1", Пример.Версия()); КонецПроцедуры Процедура ТестДолжен_ПроверитьПовторноеПодключениеТогоЖеСценария() Экспорт ТекПуть = Новый Файл(ТекущийСценарий().Источник).Путь; ПодключитьСценарий(ТекПуть+"example-test.os", "Пример_example_test"); Пример = Новый Пример_example_test(); ПодключитьСценарий(ТекПуть+"example-test.os", "Пример_example_test"); Пример = Новый Пример_example_test(); юТест.ПроверитьРавенство("0.1", Пример.Версия()); КонецПроцедуры Процедура ТестДолжен_ПроверитьОшибочноеПодключениеТогоЖеИмениТипа() Экспорт ТекПуть = Новый Файл(ТекущийСценарий().Источник).Путь; ПодключитьСценарий(ТекПуть+"global-new.os", "ПерваяРегистрация"); Пример = Новый Пример_example_test(); Попытка ПодключитьСценарий(ТекПуть+"example-test.os", "ПерваяРегистрация"); Исключение Возврат; КонецПопытки; ВызватьИсключение "Должна была возникнуть ошибка ""Тип уже зарегистрирован"" но ее не было"; КонецПроцедуры Процедура ТестДолжен_ПроверитьНепосредственноеСозданиеОбъектаИзФайла() Экспорт ТекПуть = Новый Файл(ТекущийСценарий().Источник).Путь; Пример = ЗагрузитьСценарий(ТекПуть+"example-test.os"); юТест.ПроверитьРавенство("0.1", Пример.Версия()); КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеОбъектаПоПараметруИмениКласса() Экспорт ИмяКласса = "Массив"; Попытка Объект = Новый ИмяКласса; Исключение Возврат; КонецПопытки; ВызватьИсключение "Массив не должен быть создан, а он создан"; // ПроверитьСозданиеМассива(Объект); КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеОбъектаПоПараметруИмениКлассаЧерезФункциюНовый() Экспорт ИмяКласса = "Массив"; Объект = Новый(ИмяКласса); ПроверитьСозданиеМассива(Объект); КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеОбъектаВнутриВызоваФункции() Экспорт Объект = ПроверкаВызова(Новый Массив()); ПроверитьСозданиеМассива(Объект); КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеОбъектаВнутриВызоваФункцииБезСкобокВНовый() Экспорт Объект = ПроверкаВызова(Новый Массив); ПроверитьСозданиеМассива(Объект); // Issue #53 Объект = Новый Структура("М1,М2", Новый Массив, Новый Массив); ПроверитьСозданиеМассива(Объект.М1); ПроверитьСозданиеМассива(Объект.М2); КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеОбъектаВнутриСозданияДругогоОбъекта() Экспорт // Issue #53 Объект = Новый Структура("М1,М2", Новый Массив, Новый Массив); ПроверитьСозданиеМассива(Объект.М1); ПроверитьСозданиеМассива(Объект.М2); КонецПроцедуры Процедура ТестДолжен_ПроверитьПробросИсключенияИзЗагруженногоСценария() Экспорт // Сообщить("ТестДолжен_ПроверитьПробросИсключенияИзЗагруженногоСценария"); ТекПуть = Новый Файл(ТекущийСценарий().Источник).Путь; Попытка Сценарий = ЗагрузитьСценарий(ОбъединитьПути(ТекПуть, "testdata", "load-fail.os")); Сценарий.МетодСценария(); Исключение Возврат; КонецПопытки; ВызватьИсключение "Ожидали исключения, а его не было!"; КонецПроцедуры Процедура ТестДолжен_ПроверитьПробросИсключенияИзОбъектаБиблиотеки() Экспорт // Сообщить("ТестДолжен_ПроверитьПробросИсключенияИзОбъектаБиблиотеки"); ТекПуть = Новый Файл(ТекущийСценарий().Источник).Путь; Попытка Сценарий = ЗагрузитьСценарий(ОбъединитьПути(ТекПуть, "testdata", "load-fail.os")); Сценарий.МетодОбъектаБиблиотеки(); Исключение Возврат; КонецПопытки; ВызватьИсключение "Ожидали исключения, а его не было!"; КонецПроцедуры Процедура ТестДолжен_ПроверитьПолучениеУниверсальнойДаты() Экспорт УниверсальнаяДата = ТекущаяУниверсальнаяДата(); юТест.ПроверитьИстину(ЗначениеЗаполнено(УниверсальнаяДата), "Универсальная дата должна быть заполнена"); КонецПроцедуры Функция ПроверкаВызова(Параметр) Возврат Параметр; КонецФункции Процедура ПроверитьСозданиеМассива(Массив) Экспорт юТест.ПроверитьРавенство("Массив", Строка(Массив)); юТест.ПроверитьРавенство(-1, Массив.ВГраница()); юТест.ПроверитьРавенство(0, Массив.Количество()); КонецПроцедуры