+ Пронумеровать + тест
This commit is contained in:
parent
7c5b6ee480
commit
ce425712e2
@ -733,3 +733,33 @@
|
|||||||
Результат = 1 = ЭтотОбъект.Клонировать().Фильтр("Условие = Элемент").Количество();
|
Результат = 1 = ЭтотОбъект.Клонировать().Фильтр("Условие = Элемент").Количество();
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция Пронумеровать(Знач ПервыйНомер=0) Экспорт
|
||||||
|
Если ЭтотОбъект.Пустой() Тогда
|
||||||
|
Возврат ЭтотОбъект;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// создание пары Ключ => Значение
|
||||||
|
Набор = Новый Соответствие;
|
||||||
|
КлючиПоПорядку = Новый Массив;
|
||||||
|
|
||||||
|
ЭтотОбъект.СброситьПозицию();
|
||||||
|
Счетчик = ПервыйНомер;
|
||||||
|
Пока ЭтотОбъект.Следующий() Цикл
|
||||||
|
Набор.Вставить(Счетчик, ЭтотОбъект.ТекущийЭлемент());
|
||||||
|
КлючиПоПорядку.Добавить(Счетчик);
|
||||||
|
|
||||||
|
Счетчик = 1 + Счетчик;
|
||||||
|
КонецЦикла;
|
||||||
|
ЭтотОбъект.СброситьПозицию();
|
||||||
|
|
||||||
|
// заполнение новой коллекции
|
||||||
|
ЭтотОбъект.Начать();
|
||||||
|
ЭтотОбъект.Вставить(КлючиПоПорядку.ВГраница(), Неопределено);
|
||||||
|
Для Каждого ТекПара Из Набор Цикл
|
||||||
|
Индекс = КлючиПоПорядку.Найти(ТекПара.Ключ);
|
||||||
|
ЭтотОбъект.Установить(Индекс, ТекПара);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат ЭтотОбъект;
|
||||||
|
КонецФункции
|
||||||
|
@ -97,6 +97,8 @@
|
|||||||
НаборТестов.Добавить("Тест_ВерноЛюбое");
|
НаборТестов.Добавить("Тест_ВерноЛюбое");
|
||||||
НаборТестов.Добавить("Тест_ВерноТолькоОдно");
|
НаборТестов.Добавить("Тест_ВерноТолькоОдно");
|
||||||
|
|
||||||
|
НаборТестов.Добавить("Тест_Пронумеровать");
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ПередЗапускомТеста() Экспорт
|
Процедура ПередЗапускомТеста() Экспорт
|
||||||
@ -611,4 +613,13 @@
|
|||||||
).ЭтоИстина();
|
).ЭтоИстина();
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Тест_Пронумеровать() Экспорт
|
||||||
|
Ожидаем.Что(Итератор()
|
||||||
|
.ВзятьИз("АБВГД")
|
||||||
|
.Пронумеровать()
|
||||||
|
.Карта("Результат = СтрШаблон(""%1.%2"", Элемент.Ключ, Элемент.Значение)")
|
||||||
|
.СобратьСтроку(" ")
|
||||||
|
).Равно("0.А 1.Б 2.В 3.Г 4.Д");
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user