From 17767055376dd302642caff560e6ea23bea686ec Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 2 Sep 2022 11:49:30 +0300 Subject: [PATCH] =?UTF-8?q?+=20=D0=A1=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D1=8C?= =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20+=20=D1=82=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Итератор/Ext/ObjectModule.bsl | 6 ++++++ test/Тест_Итератор/Ext/ObjectModule.bsl | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/src/Итератор/Ext/ObjectModule.bsl b/src/Итератор/Ext/ObjectModule.bsl index 919ec7a..cbee86b 100644 --- a/src/Итератор/Ext/ObjectModule.bsl +++ b/src/Итератор/Ext/ObjectModule.bsl @@ -287,6 +287,12 @@ КонецЕсли; Возврат Коллекция; КонецФункции +Функция СобратьФиксированный() Экспорт + Если Неопределено = Коллекция Тогда + ЭтотОбъект.Начать(); + КонецЕсли; + Возврат Новый ФиксированныйМассив(ЭтотОбъект.Собрать()); +КонецФункции Функция СобратьСтроку(Знач Разделитель="") Экспорт Если Неопределено = Коллекция Тогда Коллекция = Новый Массив; diff --git a/test/Тест_Итератор/Ext/ObjectModule.bsl b/test/Тест_Итератор/Ext/ObjectModule.bsl index 3f27f20..5af9039 100644 --- a/test/Тест_Итератор/Ext/ObjectModule.bsl +++ b/test/Тест_Итератор/Ext/ObjectModule.bsl @@ -30,6 +30,7 @@ НаборТестов.Добавить("Тест_УстановитьКонтекст"); НаборТестов.Добавить("Тест_Собрать"); + НаборТестов.Добавить("Тест_СобратьФиксированный"); НаборТестов.Добавить("Тест_СобратьСтроку"); НаборТестов.Добавить("Тест_Контекст"); @@ -207,6 +208,14 @@ Ожидаем.Что(Результат.Количество()).Равно(3); Ожидаем.Что(Результат).ИмеетТип(Тип("Массив")); КонецПроцедуры +Процедура Тест_СобратьФиксированный() Экспорт + Результат = Итератор() + .ВзятьИз("123") + .СобратьФиксированный(); + + Ожидаем.Что(Результат.Количество()).Равно(3); + Ожидаем.Что(Результат).ИмеетТип(Тип("ФиксированныйМассив")); +КонецПроцедуры Процедура Тест_СобратьСтроку() Экспорт Итератор = Итератор().РазделитьСтроку("1,2,3", ","); Результат = Итератор.СобратьСтроку("/");