1
0
mirror of https://github.com/bia-technologies/precommit4onec.git synced 2025-01-16 02:33:25 +02:00
precommit4onec/tests/ТестФайловыеОперации.os
2022-03-25 13:19:40 +03:00

121 lines
6.3 KiB
Plaintext

#Использовать asserts
#Использовать logos
#Использовать tempfiles
#Использовать "../src"
Перем юТест;
Перем Лог;
Перем МенеджерВременныхФайлов;
// Основная точка входа
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
юТест = ЮнитТестирование;
ВсеТесты = Новый Массив;
ВсеТесты.Добавить("ТестДолжен_ПрочитатьФайл");
ВсеТесты.Добавить("ТестДолжен_ЗаписатьФайл");
ВсеТесты.Добавить("ТестДолжен_ПроверитьПоискКаталогов");
ВсеТесты.Добавить("ТестДолжен_ПроверитьНовыйФайл");
Возврат ВсеТесты;
КонецФункции
Процедура ТестДолжен_ПрочитатьФайл() Экспорт
ПутьКФайлу = ОбъединитьПути(КаталогТестовыхФикстур(), "NoBom.bsl");
СодержимоеФайла = ФайловыеОперации.ПрочитатьТекстФайла(ПутьКФайлу);
Утверждения.ПроверитьЗаполненность(СодержимоеФайла);
КонецПроцедуры
Процедура ТестДолжен_ЗаписатьФайл() Экспорт
Файл = Новый Файл(МенеджерВременныхФайлов.СоздатьФайл("bsl"));
ФайловыеОперации.ЗаписатьТекстФайла(Файл.ПолноеИмя, Файл.ПолноеИмя);
СодержимоеФайла = ФайловыеОперации.ПрочитатьТекстФайла(Файл.ПолноеИмя);
Утверждения.ПроверитьРавенство(СодержимоеФайла, Файл.ПолноеИмя);
КонецПроцедуры
Процедура ТестДолжен_ПроверитьПоискКаталогов() Экспорт
ТестовыйКаталог = МенеджерВременныхФайлов.СоздатьКаталог();
МенеджерВременныхФайлов.БазовыйКаталог = ТестовыйКаталог;
НайденныеКаталоги = ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог);
Утверждения.ПроверитьРавенство(ТипЗнч(НайденныеКаталоги), Тип("Массив"));
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 0);
МенеджерВременныхФайлов.СоздатьКаталог();
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 1);
МенеджерВременныхФайлов.СоздатьКаталог();
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 2);
МенеджерВременныхФайлов.СоздатьКаталог();
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 3);
МенеджерВременныхФайлов.СоздатьКаталог();
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 4);
ИмяФайла = МенеджерВременныхФайлов.СоздатьФайл();
Файл = Новый Файл(ИмяФайла);
Утверждения.ПроверитьРавенство(Файл.Путь, ТестовыйКаталог + ПолучитьРазделительПути());
Утверждения.ПроверитьРавенство(Файл.Существует(), Истина);
Утверждения.ПроверитьРавенство(ФайловыеОперации.НайтиКаталоги(ТестовыйКаталог).Количество(), 4);
КонецПроцедуры
Процедура ТестДолжен_ПроверитьНовыйФайл() Экспорт
ИмяФайла = МенеджерВременныхФайлов.СоздатьФайл();
Файл = ФайловыеОперации.НовыйФайл(ИмяФайла);
Файл2 = ФайловыеОперации.НовыйФайл(Файл);
Утверждения.ПроверитьРавенство(Файл, Файл2);
Утверждения.ПроверитьРавенство(Файл.Путь, Новый Файл(ИмяФайла).Путь);
КонецПроцедуры
Процедура ПередЗапускомТеста() Экспорт
ВремТестер = Новый Тестер;
Лог = Логирование.ПолучитьЛог(ВремТестер.ИмяЛога());
ВключитьПоказОтладки();
МенеджерВременныхФайлов = Новый МенеджерВременныхФайлов;
КонецПроцедуры
Процедура ПослеЗапускаТеста() Экспорт
МенеджерВременныхФайлов.Удалить();
МенеджерВременныхФайлов = Неопределено;
КонецПроцедуры
Процедура ВключитьПоказОтладки()
Лог.УстановитьУровень(УровниЛога.Отладка);
КонецПроцедуры
Процедура ВыключитьПоказОтладки()
Лог.УстановитьУровень(УровниЛога.Информация);
КонецПроцедуры
Функция КаталогТестовыхФикстур()
Возврат ОбъединитьПути(КаталогИсходников(), "tests/fixtures");
КонецФункции
Функция КаталогИсходников()
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "..");
КонецФункции