1
0
mirror of https://github.com/bia-technologies/bsl-parser.git synced 2024-11-24 08:12:17 +02:00
bsl-parser/tests/ТестПроверкиРазбораКонфигурации.os
Корякин Алексей Викторович (000106721) af9a04e89b Переработано чтение описаний конфигурации
* Поддержка чтения формата EDT
* Изменен доступ к API - использование фабрики для создания парсера, парсер - объект
* Переименованы, некоторые модули
* Дробление монолитных модулей
2019-05-24 10:01:50 +03:00

90 lines
4.8 KiB
Plaintext

///////////////////////////////////////////////////////////////////////////////
//
// Тестирование основной функциональности пакета
// Проверка на соответствие выгрузки эталону
//
// (с) BIA Technologies, LLC
//
///////////////////////////////////////////////////////////////////////////////
#Использовать ".."
#Использовать logos
#Использовать asserts
#Использовать fs
///////////////////////////////////////////////////////////////////////////////
Перем Лог;
///////////////////////////////////////////////////////////////////////////////
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
///////////////////////////////////////////////////////////////////////////////
Функция ПолучитьСписокТестов(Знач ЮнитТестирование) Экспорт
Лог = Логирование.ПолучитьЛог("Тест");
МассивТестов = Новый Массив;
МассивТестов.Добавить("ТестДолженПрочитатьВыгрузкуВИерархическомФорматеКонфигуратора");
МассивТестов.Добавить("ТестДолженПрочитатьВыгрузкуВФорматеEDT");
Возврат МассивТестов;
КонецФункции
Процедура ПередЗапускомТеста() Экспорт
КонецПроцедуры
Процедура ПослеЗапускаТеста() Экспорт
КонецПроцедуры
Процедура ТестДолженПрочитатьВыгрузкуВИерархическомФорматеКонфигуратора() Экспорт
Парсер = ПарсерBSL.ПарсерКонфигурации(ОбъединитьПути(КаталогФикстур(), "designer", "configuration-8.3.10"));
Парсер.ПрочитатьСтруктуруКонфигурации();
Парсер.НайтиМодулиКонфигурации();
ПроверитьРезультатЧтенияВыгрузки(Парсер, 42, 47);
КонецПроцедуры
Процедура ТестДолженПрочитатьВыгрузкуВФорматеEDT() Экспорт
Парсер = ПарсерBSL.ПарсерКонфигурации(ОбъединитьПути(КаталогФикстур(), "edt", "configuration-8.3.10"));
Парсер.ПрочитатьСтруктуруКонфигурации();
Парсер.НайтиМодулиКонфигурации();
ПроверитьРезультатЧтенияВыгрузки(Парсер, 41, 47);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
///////////////////////////////////////////////////////////////////////////////
Процедура ПроверитьРезультатЧтенияВыгрузки(Парсер, КоличествоОбъектов, КоличествоМодулей)
Ожидаем.Что(Парсер.ОписаниеКонфигурации().ОбъектыКонфигурации.Количество(), "Количество найденных объектов не соответствует фактическому").Равно(КоличествоОбъектов);
Ожидаем.Что(Парсер.ОписаниеКонфигурации().МодулиКонфигурации.Количество(), "Количество найденных модулей не соответствует фактическому").Равно(КоличествоМодулей);
Для Каждого Объект Из Парсер.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл
Ожидаем.Что(ФС.ФайлСуществует(Объект.ПутьКФайлу), СтрШаблон("Не существует файл [%2] описания объекта ""%1""", Парсер.ПолноеИмяОбъекта(Объект), Объект.ПутьКФайлу)).ЭтоИстина();
КонецЦикла;
Для Каждого Объект Из Парсер.ОписаниеКонфигурации().МодулиКонфигурации Цикл
Ожидаем.Что(ФС.ФайлСуществует(Объект.ПутьКФайлу), СтрШаблон("Не существует файл [%2] модуля объекта ""%1""", Парсер.ПолноеИмяОбъекта(Объект), Объект.ПутьКФайлу)).ЭтоИстина();
КонецЦикла;
КонецПроцедуры
Функция КаталогФикстур()
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures");
КонецФункции