Skip to content

Commit c23ea1a

Browse files
committed
Однократная подготовка тестовых данных
1 parent 7f08dee commit c23ea1a

File tree

1 file changed

+43
-33
lines changed

1 file changed

+43
-33
lines changed

tests/ТестыСторонние.os

Lines changed: 43 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,49 @@
55
#Использовать "."
66

77

8-
&ТестовыйНабор
8+
Перем ПутьКТестовымДанным;
9+
Перем ТестовыеДанные;
10+
11+
Перем КатегорияДопустимыхДанных;
12+
Перем КатегорияНедопустимыхДанных;
13+
Перем КатегорияНереализованнойФункциональности;
14+
15+
16+
&ТестовыйНабор(Характер = "Одиночка")
917
Процедура ПриСозданииОбъекта()
1018

1119
// В качестве источника тестов используется:
1220
// https://github.com/yaml/yaml-test-suite.git
1321

22+
ПутьКТестовымДанным = ТестовыеУтилиты.ПолучитьПутьКТестовымДанным("yaml-test-suite");
23+
24+
ТестовыеДанные = Новый ТаблицаЗначений();
25+
ТестовыеДанные.Колонки.Добавить("Каталог");
26+
ТестовыеДанные.Колонки.Добавить("Описание");
27+
ТестовыеДанные.Колонки.Добавить("Категория");
28+
29+
НайденныеФайлы = НайтиФайлы(ПутьКТестовымДанным, "===", Истина);
30+
Для Каждого Файл Из НайденныеФайлы Цикл
31+
32+
НоваяСтрока = ТестовыеДанные.Добавить();
33+
НоваяСтрока.Каталог = ФС.ОтносительныйПуть(ПутьКТестовымДанным, Файл.Путь);
34+
НоваяСтрока.Описание = СокрЛП(ТестовыеУтилиты.ПрочитатьТекстФайла(Файл.ПолноеИмя));
35+
НоваяСтрока.Категория = КатегорияДопустимыхДанных;
36+
37+
ПутьКФайлуОшибки = ОбъединитьПути(Файл.Путь, "error");
38+
Если ФС.ФайлСуществует(ПутьКФайлуОшибки) Тогда
39+
НоваяСтрока.Категория = КатегорияНедопустимыхДанных;
40+
КонецЕсли;
41+
42+
КонецЦикла;
43+
1444
КонецПроцедуры
1545

1646
&ПараметризованныйТест
17-
&ИсточникВыражение("() -> КоллекцияКаталоговТестовыхДанных()")
47+
&ИсточникВыражение("() -> КоллекцияТестовыхДанныхКатегории(КатегорияДопустимыхДанных)")
1848
Процедура ТестКорректногоYAML(Каталог, Описание) Экспорт
1949

20-
ПутьККаталогу = ОбъединитьПути(ПутьКТестовымДанным(), Каталог);
50+
ПутьККаталогу = ОбъединитьПути(ПутьКТестовымДанным, Каталог);
2151

2252
ПутьYAML = ОбъединитьПути(ПутьККаталогу, "in.yaml");
2353
СодержимоеYAML = ТестовыеУтилиты.ПрочитатьТекстФайла(ПутьYAML);
@@ -35,10 +65,10 @@
3565
КонецПроцедуры
3666

3767
&ПараметризованныйТест
38-
&ИсточникВыражение("() -> КоллекцияКаталоговТестовыхДанных(Истина)")
68+
&ИсточникВыражение("() -> КоллекцияТестовыхДанныхКатегории(КатегорияНедопустимыхДанных)")
3969
Процедура ТестНекорректногоYAML(Каталог, Описание) Экспорт
4070

41-
ПутьККаталогу = ОбъединитьПути(ПутьКТестовымДанным(), Каталог);
71+
ПутьККаталогу = ОбъединитьПути(ПутьКТестовымДанным, Каталог);
4272

4373
ПутьYAML = ОбъединитьПути(ПутьККаталогу, "in.yaml");
4474
СодержимоеYAML = ТестовыеУтилиты.ПрочитатьТекстФайла(ПутьYAML);
@@ -53,24 +83,12 @@
5383

5484
КонецПроцедуры
5585

56-
Функция КоллекцияКаталоговТестовыхДанных(ИскатьОшибки = Ложь) Экспорт
57-
58-
НайденныеФайлы = НайтиФайлы(ПутьКТестовымДанным(), "===", Истина);
86+
Функция КоллекцияТестовыхДанныхКатегории(Категория) Экспорт
5987

60-
КоллекцияАргументов = Новый Массив;
61-
62-
Для Каждого Файл Из НайденныеФайлы Цикл
63-
Если ЕстьФайлОшибки(Файл.Путь) <> ИскатьОшибки Тогда
64-
Продолжить;
65-
КонецЕсли;
66-
67-
ОписаниеТеста = СокрЛП(ТестовыеУтилиты.ПрочитатьТекстФайла(Файл.ПолноеИмя));
68-
КаталогТеста = ФС.ОтносительныйПуть(ПутьКТестовымДанным(), Файл.Путь);
69-
АргументыТеста = Списки.ИзЭлементов(КаталогТеста, ОписаниеТеста);
70-
КоллекцияАргументов.Добавить(АргументыТеста);
71-
КонецЦикла;
72-
73-
Возврат ПроцессорыКоллекций.ИзКоллекции(КоллекцияАргументов);
88+
Возврат ПроцессорыКоллекций.ИзКоллекции(ТестовыеДанные)
89+
.Фильтровать("Элемент -> Элемент.Категория = " + Строка(Категория))
90+
.Обработать("Элемент -> Списки.ИзЭлементов(Элемент.Каталог, Элемент.Описание)")
91+
;
7492

7593
КонецФункции
7694

@@ -100,15 +118,7 @@
100118

101119
КонецФункции
102120

103-
Функция ЕстьФайлОшибки(ПутьККаталогу)
104-
105-
ПутьКФайлуОшибки = ОбъединитьПути(ПутьККаталогу, "error");
106-
Возврат ФС.ФайлСуществует(ПутьКФайлуОшибки);
107-
108-
КонецФункции
109121

110-
Функция ПутьКТестовымДанным()
111-
112-
Возврат ТестовыеУтилиты.ПолучитьПутьКТестовымДанным("yaml-test-suite");
113-
114-
КонецФункции
122+
КатегорияДопустимыхДанных = 0;
123+
КатегорияНедопустимыхДанных = 1;
124+
КатегорияНереализованнойФункциональности = 2;

0 commit comments

Comments
 (0)