Skip to content

Commit e5c650b

Browse files
committed
Тесты
1 parent 02706f5 commit e5c650b

3 files changed

Lines changed: 246 additions & 0 deletions

tests/СоветДругогоМастера.os

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,22 @@
210210

211211
КонецПроцедуры
212212

213+
&Тест
214+
Процедура ПрименитьУстаревшиеНастройкиДополнительныйКаталог() Экспорт
215+
216+
// Дано
217+
Совет = Новый СоветДругогоМастера();
218+
Совет.ДополнительныйКаталогПоискаФайлаСоЗначениямиДеталек("custom-dir");
219+
220+
// Когда
221+
Строитель = Совет.ПолучитьСтроительМенеджераПараметров();
222+
223+
// Тогда
224+
НастройкиYAML = Строитель.Провайдер("default-yaml").Настройки().ПолучитьНастройки();
225+
Ожидаем.Что(НастройкиYAML.ВложенныйКаталог).Равно("custom-dir");
226+
227+
КонецПроцедуры
228+
213229
&Тест
214230
Процедура ПрименитьУстаревшиеНастройкиЗначенияДеталек() Экспорт
215231

tests/СтроительМенеджераПараметров.os

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,3 +297,66 @@
297297
Ожидаем.Что(Настройки.ПутьКФайлуПараметров).Равно("/path/to/settings.yaml");
298298

299299
КонецПроцедуры
300+
301+
&Тест
302+
Процедура ДобавитьПровайдерФайловСДублирующимсяИдентификаторомБросаетИсключение() Экспорт
303+
304+
// Дано
305+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
306+
307+
// Когда / Тогда
308+
Попытка
309+
Строитель.ДобавитьПровайдерФайлов("default", 5); // "default" уже зарегистрирован по умолчанию
310+
Ожидаем.Что(Истина, "Ожидалось исключение").Равно(Ложь);
311+
Исключение
312+
Сообщение = ОписаниеОшибки();
313+
Ожидаем.Что(СтрНайти(Сообщение, "уже зарегистрирован")).Не_().Равно(0);
314+
КонецПопытки;
315+
316+
КонецПроцедуры
317+
318+
&Тест
319+
Процедура ПровайдерФайловНесуществующийБросаетИсключение() Экспорт
320+
321+
// Дано
322+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
323+
324+
// Когда / Тогда
325+
Попытка
326+
Строитель.ПровайдерФайлов("не-существует");
327+
Ожидаем.Что(Истина, "Ожидалось исключение").Равно(Ложь);
328+
Исключение
329+
Сообщение = ОписаниеОшибки();
330+
Ожидаем.Что(СтрНайти(Сообщение, "не найден")).Не_().Равно(0);
331+
КонецПопытки;
332+
333+
КонецПроцедуры
334+
335+
&Тест
336+
Процедура НастройкаПоискаФайлаДоступна() Экспорт
337+
338+
// Дано
339+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
340+
341+
// Когда
342+
НастройкаПоиска = Строитель.НастройкаПоискаФайла();
343+
344+
// Тогда
345+
Ожидаем.Что(НастройкаПоиска).Не_().Равно(Неопределено);
346+
347+
КонецПроцедуры
348+
349+
&Тест
350+
Процедура ДобавитьПровайдерФайлНастроекОпределяетФорматYML() Экспорт
351+
352+
// Дано
353+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
354+
355+
// Когда
356+
Строитель.ДобавитьПровайдерФайлНастроек("/path/to/settings.yml", 1, "yml-провайдер");
357+
358+
// Тогда
359+
Настройки = Строитель.Провайдер("yml-провайдер").Настройки().ПолучитьНастройки();
360+
Ожидаем.Что(Настройки.ПутьКФайлуПараметров).Равно("/path/to/settings.yml");
361+
362+
КонецПроцедуры
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
#Использовать asserts
2+
#Использовать configor
3+
#Использовать ".."
4+
5+
// BSLLS-off: DuplicateStringLiteral, MagicNumber
6+
7+
&Тест
8+
Процедура НастройкиВозвращаютPerProviderНастройки() Экспорт
9+
10+
// Дано
11+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
12+
Метапровайдер = Строитель.ПровайдерФайлов("default");
13+
14+
// Когда
15+
НастройкиФормата = Метапровайдер.Настройки("yaml");
16+
17+
// Тогда
18+
Ожидаем.Что(НастройкиФормата).Не_().Равно(Неопределено);
19+
20+
КонецПроцедуры
21+
22+
&Тест
23+
Процедура НастройкиНезарегистрированногоФорматаБросаетИсключение() Экспорт
24+
25+
// Дано
26+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
27+
Метапровайдер = Строитель.ДобавитьПровайдерФайлов("only-yaml", 5, "yaml");
28+
29+
// Когда / Тогда
30+
Попытка
31+
Метапровайдер.Настройки("json");
32+
Ожидаем.Что(Истина, "Ожидалось исключение").Равно(Ложь);
33+
Исключение
34+
Сообщение = ОписаниеОшибки();
35+
Ожидаем.Что(СтрНайти(Сообщение, "не зарегистрирован")).Не_().Равно(0);
36+
КонецПопытки;
37+
38+
КонецПроцедуры
39+
40+
&Тест
41+
Процедура НеизвестныйФорматПриСозданииБросаетИсключение() Экспорт
42+
43+
// Дано
44+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
45+
46+
// Когда / Тогда
47+
Попытка
48+
Строитель.ДобавитьПровайдерФайлов("bad-meta", 5, "toml");
49+
Ожидаем.Что(Истина, "Ожидалось исключение").Равно(Ложь);
50+
Исключение
51+
Сообщение = ОписаниеОшибки();
52+
Ожидаем.Что(СтрНайти(Сообщение, "Неизвестный формат")).Не_().Равно(0);
53+
КонецПопытки;
54+
55+
КонецПроцедуры
56+
57+
&Тест
58+
Процедура ДобавитьКаталогПоискаДобавляетКаталогВоВсеФизическиеПровайдеры() Экспорт
59+
60+
// Дано
61+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
62+
Метапровайдер = Строитель.ДобавитьПровайдерФайлов("withdir", 5, "yaml json");
63+
64+
// Когда
65+
Метапровайдер.ДобавитьКаталогПоиска("/some/search/path");
66+
67+
// Тогда
68+
НастройкиYAML = Строитель.Провайдер("withdir-yaml").Настройки().ПолучитьНастройки();
69+
НастройкиJSON = Строитель.Провайдер("withdir-json").Настройки().ПолучитьНастройки();
70+
Ожидаем.Что(НастройкиYAML.КаталогиПоиска.Найти("/some/search/path")).Не_().Равно(Неопределено);
71+
Ожидаем.Что(НастройкиJSON.КаталогиПоиска.Найти("/some/search/path")).Не_().Равно(Неопределено);
72+
73+
КонецПроцедуры
74+
75+
&Тест
76+
Процедура ОчиститьПутиПоискаСбрасываетКаталогиВсехФизическихПровайдеров() Экспорт
77+
78+
// Дано
79+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
80+
Метапровайдер = Строитель.ДобавитьПровайдерФайлов("clearable", 5, "yaml");
81+
Метапровайдер.ДобавитьКаталогПоиска("/some/path");
82+
83+
// Когда
84+
Метапровайдер.ОчиститьПутиПоиска();
85+
86+
// Тогда
87+
Настройки = Строитель.Провайдер("clearable-yaml").Настройки().ПолучитьНастройки();
88+
Ожидаем.Что(Настройки.КаталогиПоиска.Количество()).Равно(0);
89+
90+
КонецПроцедуры
91+
92+
&Тест
93+
Процедура УстановитьВложенныйКаталогПоискаПрименяетсяКоВсемФизическимПровайдерам() Экспорт
94+
95+
// Дано
96+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
97+
Метапровайдер = Строитель.ДобавитьПровайдерФайлов("nested", 5, "yaml json");
98+
99+
// Когда
100+
Метапровайдер.УстановитьВложенныйКаталогПоиска("под-каталог");
101+
102+
// Тогда
103+
НастройкиYAML = Строитель.Провайдер("nested-yaml").Настройки().ПолучитьНастройки();
104+
НастройкиJSON = Строитель.Провайдер("nested-json").Настройки().ПолучитьНастройки();
105+
Ожидаем.Что(НастройкиYAML.ВложенныйКаталог).Равно("под-каталог");
106+
Ожидаем.Что(НастройкиJSON.ВложенныйКаталог).Равно("под-каталог");
107+
108+
КонецПроцедуры
109+
110+
&Тест
111+
Процедура УстановитьСтандартныеКаталогиПоискаПрименяетсяКоВсемФизическимПровайдерам() Экспорт
112+
113+
// Дано
114+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
115+
Метапровайдер = Строитель.ДобавитьПровайдерФайлов("std", 5, "yaml");
116+
Метапровайдер.ОчиститьПутиПоиска();
117+
118+
// Когда
119+
Метапровайдер.УстановитьСтандартныеКаталогиПоиска("src");
120+
121+
// Тогда
122+
Настройки = Строитель.Провайдер("std-yaml").Настройки().ПолучитьНастройки();
123+
Ожидаем.Что(Настройки.КаталогиПоиска.Количество()).Больше(0);
124+
Ожидаем.Что(Настройки.ВложенныйКаталог).Равно("src");
125+
126+
КонецПроцедуры
127+
128+
&Тест
129+
Процедура ОтключитьИВключитьПереключаютВсеФизическиеПровайдеры() Экспорт
130+
131+
// Дано
132+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
133+
Метапровайдер = Строитель.ДобавитьПровайдерФайлов("toggle", 5, "yaml json");
134+
135+
// Когда
136+
Метапровайдер.Отключить();
137+
138+
// Тогда
139+
Ожидаем.Что(Строитель.Провайдер("toggle-yaml").Включен).Равно(Ложь);
140+
Ожидаем.Что(Строитель.Провайдер("toggle-json").Включен).Равно(Ложь);
141+
142+
// Когда
143+
Метапровайдер.Включить();
144+
145+
// Тогда
146+
Ожидаем.Что(Строитель.Провайдер("toggle-yaml").Включен).Равно(Истина);
147+
Ожидаем.Что(Строитель.Провайдер("toggle-json").Включен).Равно(Истина);
148+
149+
КонецПроцедуры
150+
151+
&Тест
152+
Процедура ИдентификаторыФизическихПровайдеровВозвращаютВсеФорматы() Экспорт
153+
154+
// Дано
155+
Строитель = (Новый СоветДругогоМастера()).ПолучитьСтроительМенеджераПараметров();
156+
Метапровайдер = Строитель.ДобавитьПровайдерФайлов("ids", 5, "yaml json ini");
157+
158+
// Когда
159+
Идентификаторы = Метапровайдер.ИдентификаторыФизическихПровайдеров();
160+
161+
// Тогда
162+
Ожидаем.Что(Идентификаторы.Количество()).Равно(3);
163+
Ожидаем.Что(Идентификаторы.Найти("ids-yaml")).Не_().Равно(Неопределено);
164+
Ожидаем.Что(Идентификаторы.Найти("ids-json")).Не_().Равно(Неопределено);
165+
Ожидаем.Что(Идентификаторы.Найти("ids-ini")).Не_().Равно(Неопределено);
166+
167+
КонецПроцедуры

0 commit comments

Comments
 (0)