From 0f0029edddcb74ee8b09f0952e86b93f2c78a4bb Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Wed, 14 May 2025 21:56:51 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BE=D1=80=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=BF=D0=BE=20=D1=83=D0=BC?= =?UTF-8?q?=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\260\321\200\320\272\320\276\320\262.os" | 32 +++++++++++++++++-- ...20\260\321\200\320\272\320\276\320\262.os" | 20 ++++++++++++ 2 files changed, 49 insertions(+), 3 deletions(-) diff --git "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index b264d72..33af8a8 100644 --- "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -50,6 +50,7 @@ Процедура ДобавитьКолонки() + ДобавитьКолонкуПорядкаПоУмолчанию(); ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьМетод()); ДобавитьКолонкуКатегория(); ДобавитьКолонкиПараметров(); @@ -70,6 +71,10 @@ КонецПроцедуры +Процедура ДобавитьКолонкуПорядкаПоУмолчанию() + _Отчет.Таблица.Колонки.Добавить(ИмяКолонкиПорядокПоУмолчанию()); +КонецПроцедуры + Процедура ДобавитьКолонкиПараметров() Для Каждого Параметр Из _Конфигурация.Параметры() Цикл @@ -179,6 +184,7 @@ Процедура СкрытьКолонки() СкрываемыеКолонки = Новый Массив(); + СкрываемыеКолонки.Добавить(ИмяКолонкиПорядокПоУмолчанию()); Для Каждого Колонка Из _Отчет.Колонки Цикл Если ЕстьКолонкаКонфигурации(Колонка.Имя) Или Не ЗначениеЗаполнено(Колонка.ФункцияСкрытия) Тогда @@ -198,9 +204,15 @@ КонецЕсли; КонецЦикла; - Для Каждого Колонка Из СкрываемыеКолонки Цикл - _Отчет.Колонки.Удалить(_Отчет.Колонки.Найти(Колонка)); - _Отчет.Таблица.Колонки.Удалить(Колонка.Имя); + Для Каждого Колонка Из СкрываемыеКолонки Цикл + Если ТипЗнч(Колонка) = Тип("Строка") Тогда + ИмяКолонки = Колонка; + Иначе + ИмяКолонки = Колонка.Имя; + _Отчет.Колонки.Удалить(_Отчет.Колонки.Найти(Колонка)); + КонецЕсли; + + _Отчет.Таблица.Колонки.Удалить(ИмяКолонки); КонецЦикла; КонецПроцедуры @@ -211,9 +223,18 @@ Процедура ЗаполнитьДанными() + НомерБенчмарка = 0; + ПредыдущийБенчмарк = ""; Для Каждого СтрокаРезультат Из _РезультатыЗапусков Цикл + ИмяБенчмарка = СтрокаРезультат.ДескрипторБенчмарка.Метод(); + Если Не ПредыдущийБенчмарк = ИмяБенчмарка Тогда + НомерБенчмарка = НомерБенчмарка + 1; + ПредыдущийБенчмарк = ИмяБенчмарка; + КонецЕсли; + СтрокаОтчета = _Отчет.Таблица.Добавить(); + СтрокаОтчета[ИмяКолонкиПорядокПоУмолчанию()] = НомерБенчмарка; Для Каждого Колонка Из _Отчет.Колонки Цикл СтрокаОтчета[Колонка.Имя] = Колонка.Значение(СтрокаРезультат, Колонка); @@ -335,6 +356,7 @@ Иначе + ДобавитьСортировку(КолонкиСортировки, ИмяКолонкиПорядокПоУмолчанию()); ДобавитьСортировку(КолонкиСортировки, КолонкиОтчетаБенчмарков.Категория); ДобавитьСортировкуПоПараметрам(КолонкиСортировки); ДобавитьСортировку(КолонкиСортировки, КолонкиОтчетаБенчмарков.Метод); @@ -387,4 +409,8 @@ КонецФункции +Функция ИмяКолонкиПорядокПоУмолчанию() + Возврат "ПорядокПоУмолчанию"; +КонецФункции + #КонецОбласти \ No newline at end of file diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index ff1523c..7618438 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -324,6 +324,8 @@ Тип = Тип("БенчмаркиССортировкой"); Конфигурация = Новый КонфигурацияБенчмарков(Тип); + Конфигурация.УстановитьСортировкуОтчета(СортировкиОтчетаБенчмарков.ОтБыстрыхКМедленным); + ТестированиеБенчмарков.НастроитьКонфигурациюПодТесты(Конфигурация); Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); @@ -352,6 +354,24 @@ КонецПроцедуры +&Тест +Процедура Тест_СортировкаПоУмолчанию() Экспорт + + Тип = Тип("БенчмаркиССортировкой"); + + Конфигурация = Новый КонфигурацияБенчмарков(Тип); + Конфигурация.УстановитьСортировкуОтчета(СортировкиОтчетаБенчмарков.ПоУмолчанию); + + ТестированиеБенчмарков.НастроитьКонфигурациюПодТесты(Конфигурация); + + Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); + + Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); + Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); + Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); + +КонецПроцедуры + &Тест Процедура Тест_ФильтрацияВНабореДескрипторовБенчмарков() Экспорт