Skip to content

Commit 35fabc3

Browse files
committed
Добавлен провайдер параметров обёртка над соответствием
1 parent 0f00596 commit 35fabc3

File tree

2 files changed

+111
-0
lines changed

2 files changed

+111
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#Использовать logos
2+
3+
Перем Лог;
4+
Перем мПараметры;
5+
6+
Процедура ПриСозданииОбъекта(Параметры)
7+
8+
Если ТипЗнч(Параметры) <> Тип("Соответствие") Тогда
9+
ВызватьИсключение
10+
"Для провайдера параметров Соответствие, источником параметров может быть только соответствие";
11+
КонецЕсли;
12+
13+
мПараметры = Параметры;
14+
Лог = Логирование.ПолучитьЛог("oscript.lib.configor.map");
15+
16+
КонецПроцедуры
17+
18+
#Область ПрограммныйИнтерфейс
19+
20+
// Возвращает приоритет провайдера
21+
//
22+
// Возвращаемое значение:
23+
// Число - текущий приоритет провайдера
24+
//
25+
Функция Приоритет() Экспорт
26+
Возврат 3;
27+
КонецФункции
28+
29+
// Возвращает идентификатор провайдера
30+
//
31+
// Возвращаемое значение:
32+
// Строка - текущий идентификатор провайдера
33+
//
34+
Функция Идентификатор() Экспорт
35+
Возврат "map";
36+
КонецФункции
37+
38+
// Возвращает тип провайдера
39+
//
40+
// Возвращаемое значение:
41+
// Строка - текущий тип провайдера
42+
//
43+
Функция ТипПровайдера() Экспорт
44+
Возврат "memory";
45+
КонецФункции
46+
47+
// Выполняет чтение параметров для провайдера
48+
//
49+
// Параметры:
50+
// НастройкиПровайдера - Структура - структура настроек провайдера
51+
//
52+
// Возвращаемое значение:
53+
// Соответствие - результат чтения провайдера
54+
//
55+
Функция ПрочитатьПараметры(НастройкиПровайдера) Экспорт
56+
57+
Лог.Отладка("Считываю параметры из соответствия");
58+
59+
Возврат мПараметры;
60+
61+
КонецФункции
62+
63+
#КонецОбласти
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#использовать "../src/"
2+
#Использовать asserts
3+
4+
&Тест
5+
Процедура ПроверитьПолучениеПараметровИзСоответствия() Экспорт
6+
7+
// Дано
8+
9+
Массив = Новый Массив;
10+
Массив.Добавить(2);
11+
12+
Соответствие = Новый Соответствие;
13+
Соответствие.Вставить("Тест1", 1);
14+
Соответствие.Вставить("Тест2", Массив);
15+
16+
// Когда
17+
18+
МенеджерПараметров = Новый МенеджерПараметров();
19+
20+
МенеджерПараметров.ДобавитьПровайдерПараметров(Новый ПровайдерПараметровСоответствие(Соответствие));
21+
22+
МенеджерПараметров.Прочитать();
23+
24+
// Тогда
25+
26+
Ожидаем.Что(МенеджерПараметров.Параметр("Тест1")).Равно(1);
27+
Ожидаем.Что(МенеджерПараметров.Параметр("Тест2")[0]).Равно(2);
28+
29+
КонецПроцедуры
30+
31+
&Тест
32+
Процедура ПроверитьОшибкуПриПередачиДругогоИсточника() Экспорт
33+
34+
БылоИсключение = Ложь;
35+
36+
Попытка
37+
А = Новый ПровайдерПараметровСоответствие(Новый Массив);
38+
Исключение
39+
40+
БылоИсключение = Истина;
41+
42+
Ожидаем.Что(ИнформацияОбОшибке().Описание)
43+
.Содержит("Для провайдера параметров Соответствие, источником параметров может быть только соответствие");
44+
КонецПопытки;
45+
46+
Ожидаем.Что(БылоИсключение).ЭтоИстина();
47+
48+
КонецПроцедуры

0 commit comments

Comments
 (0)