Skip to content

Commit 4404e1c

Browse files
authored
Merge pull request #2 from Stivo182/refactor/event-handlers
Refactor/event handlers
2 parents 5788d03 + e0c06e1 commit 4404e1c

17 files changed

Lines changed: 214 additions & 142 deletions

packagedef

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
.ЗависитОт("autumn-cli")
2424
.ЗависитОт("coloratos")
2525
.ЗависитОт("fluent")
26+
.ЗависитОт("logos")
2627
.РазработкаЗависитОт("1testrunner")
2728
.РазработкаЗависитОт("coverage")
2829
.РазработкаЗависитОт("1commands")
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#Использовать benchmark
22
#Использовать "../benchmarks"
33

4-
ОберткаОбъекта = Новый ОберткаОбъектаБенчмарка(Тип("БенчмаркИнициализацияИЗавершение"));
4+
ОберткаОбъекта = Новый ОберткаОбъектаБенчмарка(Тип("БенчмаркОбработчикПередИПослеВсех"));
55
Конфигурация = ОберткаОбъекта.Конфигурация();
66

7-
Конфигурация.УстановитьОбработчикЗавершения(Неопределено);
7+
Конфигурация.УстановитьОбработчикПослеВсех(Неопределено);
88

99
Бенчмаркинг.Запустить(ОберткаОбъекта);

samples/api/УстановкаОбработчиковПример.os

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
#Использовать "../benchmarks"
44

55
Процедура Инициализация(Контекст) Экспорт
6-
Сообщить("Вызван обработчик инициализации");
6+
Сообщить("Вызван обработчик перед запуском всех бенчмарков");
77
КонецПроцедуры
88

99
Процедура Завершение() Экспорт
10-
Сообщить("Вызван обработчик завершения");
10+
Сообщить("Вызван обработчик после запуска всех бенчмарков");
1111
КонецПроцедуры
1212

1313
Процедура ПередЗапуском(Контекст) Экспорт
@@ -19,11 +19,11 @@
1919
КонецПроцедуры
2020

2121
ОберткаОбъекта = Новый ОберткаОбъектаБенчмарка(Тип("БенчмаркБазовый"));
22-
Конфигурация = ОберткаОбъекта.Конфигурация();
2322

24-
Конфигурация.УстановитьОбработчикИнициализации(Новый Делегат(ЭтотОбъект, "Инициализация"));
25-
Конфигурация.УстановитьОбработчикЗавершения(Новый Делегат(ЭтотОбъект, "Завершение"));
26-
Конфигурация.УстановитьОбработчикПередЗапуском(Новый Делегат(ЭтотОбъект, "ПередЗапуском"));
27-
Конфигурация.УстановитьОбработчикПослеЗапуска(Новый Делегат(ЭтотОбъект, "ПослеЗапуска"));
23+
Конфигурация = ОберткаОбъекта.Конфигурация()
24+
.УстановитьОбработчикПередВсеми(Новый Делегат(ЭтотОбъект, "Инициализация"))
25+
.УстановитьОбработчикПослеВсех(Новый Делегат(ЭтотОбъект, "Завершение"))
26+
.УстановитьОбработчикПередКаждым(Новый Делегат(ЭтотОбъект, "ПередЗапуском"))
27+
.УстановитьОбработчикПослеКаждого(Новый Делегат(ЭтотОбъект, "ПослеЗапуска"));
2828

2929
Бенчмаркинг.Запустить(ОберткаОбъекта);

samples/benchmarks/Классы/БенчмаркИнициализацияИЗавершение.os renamed to samples/benchmarks/Классы/БенчмаркОбработчикПередИПослеВсех.os

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
Перем ДвоичныеДанные;
22

3-
&Инициализация
3+
&ПередВсеми
44
Процедура Инициализация(Контекст) Экспорт
5-
Сообщить("Вызван обработчик инициализации");
5+
Сообщить("Вызван обработчик перед запуском всех бенчмарков");
66
ДвоичныеДанные = ПолучитьДвоичныеДанныеИзСтроки("Много данных");
77
КонецПроцедуры
88

9+
&ПослеВсех
10+
Процедура Завершение(Контекст) Экспорт
11+
Сообщить("Вызван обработчик после завершения всех бенчмарков");
12+
КонецПроцедуры
13+
914
&Бенчмарк
1015
Процедура SHA256() Экспорт
1116

@@ -22,9 +27,4 @@
2227
ХешированиеДанных.Добавить(ДвоичныеДанные);
2328
ХешСумма = ХешированиеДанных.ХешСумма;
2429

25-
КонецПроцедуры
26-
27-
&Завершение
28-
Процедура Завершение() Экспорт
29-
Сообщить("Вызван обработчик завершения");
3030
КонецПроцедуры

samples/benchmarks/Классы/БенчмаркПередИПослеЗапуска.os renamed to samples/benchmarks/Классы/БенчмаркОбработчикПередИПослеКаждого.os

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
Перем Количество Экспорт;
33
Перем Данные;
44

5-
&Перед
6-
Процедура Перед(Контекст) Экспорт
5+
&ПередКаждым
6+
Процедура ПередКаждым(Контекст) Экспорт
77

8-
Сообщить("Вызван обработчик перед запуском");
8+
Сообщить("Вызван обработчик перед запуском бенчмарка");
99

1010
Данные = Новый Массив();
1111
Для Число = 1 По Количество Цикл
@@ -14,6 +14,11 @@
1414

1515
КонецПроцедуры
1616

17+
&ПослеКаждого
18+
Процедура ПослеКаждого(Контекст) Экспорт
19+
Сообщить("Вызван обработчик после запуска бенчмарка");
20+
КонецПроцедуры
21+
1722
&Бенчмарк
1823
Процедура Бенчмарк() Экспорт
1924

@@ -22,9 +27,4 @@
2227
Сумма = Сумма + Число;
2328
КонецЦикла;
2429

25-
КонецПроцедуры
26-
27-
&После
28-
Процедура После(Контекст) Экспорт
29-
Сообщить("Вызван обработчик после запуска");
3030
КонецПроцедуры

src/BenchmarkOneScript/annotations/Классы/АннотацияЗавершение.os

Lines changed: 0 additions & 13 deletions
This file was deleted.

src/BenchmarkOneScript/annotations/Классы/АннотацияИнициализация.os renamed to src/BenchmarkOneScript/annotations/Классы/АннотацияПередВсеми.os

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
// // Параметры:
88
// // Контекст - Структура:
99
// // * Конфигурация - КонфигурацияБенчмарков
10-
// &Инициализация
11-
// Процедруа Инициализация(Контекст) Экспорт
10+
// &ПередВсеми
11+
// Процедруа ПередВсеми(Контекст) Экспорт
1212
// // Подготовка данных
1313
// КонецПроцедуры
14-
&Аннотация("Инициализация")
14+
&Аннотация("ПередВсеми")
1515
Процедура ПриСозданииОбъекта()
1616
КонецПроцедуры
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
// Аннотация указывает, что метод должен быть выполнен перед запуском бенчмарка.
1+
// Аннотация указывает, что метод должен быть выполнен перед каждым запуском бенчмарка.
22
//
33
// Пример:
44
// // Параметры:
55
// // Контекст - Структура:
66
// // * ДескрипторБенчмарка - ДескрипторБенчмарка
77
// // * ПараметрыМетода - Массив из Произвольный
8-
// &Перед
9-
// Процедруа Перед(Контекст) Экспорт
8+
// &ПередКаждым
9+
// Процедруа ПередКаждым(Контекст) Экспорт
1010
// // ...
1111
// КонецПроцедуры
12-
&Аннотация("Перед")
12+
&Аннотация("ПередКаждым")
1313
Процедура ПриСозданииОбъекта()
1414
КонецПроцедуры

src/BenchmarkOneScript/annotations/Классы/АннотацияПосле.os

Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Указывает, что метод должен быть выполнен после завершения всех бенчмарков.
2+
//
3+
// Пример:
4+
// // Параметры:
5+
// // Контекст - Структура:
6+
// // * ДескрипторыБенчмарков - Массив из ДескрипторБенчмарка
7+
// // * Конфигурация - КонфигурацияБенчмарков
8+
// // * РезультатыЗапусков - см. НоваяТаблицаРезультатов
9+
// // * Отчет - ОтчетБенчмарков
10+
// // * СредаОкружения - СредаОкруженияБенчмарков
11+
// &ПослеВсех
12+
// Процедруа ПослеВсех(Контекст) Экспорт
13+
// // Очистка данных
14+
// КонецПроцедуры
15+
&Аннотация("ПослеВсех")
16+
Процедура ПриСозданииОбъекта()
17+
КонецПроцедуры

0 commit comments

Comments
 (0)