реализация первых 21 тестов

реализованы тесты:
- Тест_СоздатьНовый
- Тест_Клонировать
- Тест_Начать
- Тест_НачатьС
- Тест_ВзятьИз
- Тест_РазделитьСтроку
- Тест_УстановитьКонтекст
- Тест_Собрать
- Тест_СобратьСтроку
- Тест_Контекст
- Тест_Карта
- Тест_Фильтр
- Тест_Свернуть
- Тест_ВзятьНеБольше
- Тест_Пропустить
- Тест_Срез
- Тест_Хвост
- Тест_Обратить
- Тест_Транспонировать
- Тест_Сортировать
- Тест_Перемешать
This commit is contained in:
Dmitry Belyaev 2022-08-31 17:13:33 +03:00
parent e1d956636e
commit 686dcfa9ce
Signed by: b4tman
GPG Key ID: 41A00BF15EA7E5F3

View File

@ -127,70 +127,196 @@
КонецПроцедуры
Процедура Тест_СоздатьНовый() Экспорт
ВызватьИсключение "Не реализовано";
Итератор_1 = Итератор();
Итератор_2 = Итератор_1.СоздатьНовый();
Ожидаем.Что(Итератор_2).Не_().Равно(Итератор_1);
Ожидаем.Что(Итератор_2.Метаданные().Синоним).Равно("Итератор");
КонецПроцедуры
Процедура Тест_Клонировать() Экспорт
ВызватьИсключение "Не реализовано";
Итератор_1 = Итератор().ВзятьИз(СтрРазделить("1,2,3", ","));
Итератор_2 = Итератор_1.Клонировать();
Итератор_1.СнятьПоследний();
Ожидаем.Что(Итератор_2).Не_().Равно(Итератор_1);
Ожидаем.Что(Итератор_1.Количество()).Меньше(Итератор_2.Количество());
КонецПроцедуры
Процедура Тест_Начать() Экспорт
ВызватьИсключение "Не реализовано";
Итератор = Итератор().ВзятьИз(СтрРазделить("1,2,3", ","));
Итератор.Начать();
Ожидаем.Что(Итератор.Пустой()).ЭтоИстина();
КонецПроцедуры
Процедура Тест_НачатьС() Экспорт
ВызватьИсключение "Не реализовано";
Итератор = Итератор().НачатьС("тест");
Ожидаем.Что(Итератор.Количество()).Равно(1);
КонецПроцедуры
Процедура Тест_ВзятьИз() Экспорт
ВызватьИсключение "Не реализовано";
Итератор = Итератор().ВзятьИз(СтрРазделить("1,2,3", ","));
Ожидаем.Что(Итератор.Количество()).Равно(3);
КонецПроцедуры
Процедура Тест_РазделитьСтроку() Экспорт
ВызватьИсключение "Не реализовано";
Итератор = Итератор().РазделитьСтроку("1,2,3", ",");
Ожидаем.Что(Итератор.Количество()).Равно(3);
КонецПроцедуры
Процедура Тест_УстановитьКонтекст() Экспорт
ВызватьИсключение "Не реализовано";
Итератор = Итератор().УстановитьКонтекст(1234);
Ожидаем.Что(Итератор.Контекст()).Равно(1234);
КонецПроцедуры
Процедура Тест_Собрать() Экспорт
ВызватьИсключение "Не реализовано";
Итератор = Итератор().РазделитьСтроку("1,2,3", ",");
Результат = Итератор.Собрать();
Ожидаем.Что(Результат.Количество()).Равно(3);
Ожидаем.Что(Результат).ИмеетТип(Тип("Массив"));
КонецПроцедуры
Процедура Тест_СобратьСтроку() Экспорт
ВызватьИсключение "Не реализовано";
Итератор = Итератор().РазделитьСтроку("1,2,3", ",");
Результат = Итератор.СобратьСтроку("/");
Ожидаем.Что(Результат).Равно("1/2/3");
КонецПроцедуры
Процедура Тест_Контекст() Экспорт
ВызватьИсключение "Не реализовано";
Итератор = Итератор().УстановитьКонтекст(4321);
Ожидаем.Что(Итератор.Контекст()).Равно(4321);
КонецПроцедуры
Процедура Тест_Карта() Экспорт
ВызватьИсключение "Не реализовано";
Результат = Итератор()
.УстановитьКонтекст(10)
.Начать()
.Добавить(1)
.Добавить(2)
.Добавить(3)
.Карта("Результат = Элемент + Элемент * _")
.КакСтроки()
.СобратьСтроку(" ");
Ожидаем.Что(Результат).Равно("11 22 33");
КонецПроцедуры
Процедура Тест_Фильтр() Экспорт
ВызватьИсключение "Не реализовано";
Результат = Итератор()
.УстановитьКонтекст(2)
.ПоДиапазону(1,10)
.Фильтр("Условие = 0 = Элемент % _")
.КакСтроки()
.СобратьСтроку(" ");
Ожидаем.Что(Результат).Равно("2 4 6 8 10");
КонецПроцедуры
Процедура Тест_Свернуть() Экспорт
ВызватьИсключение "Не реализовано";
Результат = Итератор()
.УстановитьКонтекст(10)
.ПоДиапазону(1,3)
.Свернуть("Результат = Результат + Элемент * _ ", 0);
Ожидаем.Что(Результат).Равно(10 + 20 + 30);
КонецПроцедуры
Процедура Тест_ВзятьНеБольше() Экспорт
ВызватьИсключение "Не реализовано";
Результат = Итератор()
.ПоДиапазону(1,10)
.КакСтроки()
.ВзятьНеБольше(5)
.СобратьСтроку(" ");
Ожидаем.Что(Результат).Равно("1 2 3 4 5");
КонецПроцедуры
Процедура Тест_Пропустить() Экспорт
ВызватьИсключение "Не реализовано";
Результат = Итератор()
.ПоДиапазону(1,10)
.КакСтроки()
.Пропустить(5)
.СобратьСтроку(" ");
Ожидаем.Что(Результат).Равно("6 7 8 9 10");
КонецПроцедуры
Процедура Тест_Срез() Экспорт
ВызватьИсключение "Не реализовано";
Результат = Итератор()
.ПоДиапазону(1,10)
.КакСтроки()
.Срез(3, 4)
.СобратьСтроку(" ");
Ожидаем.Что(Результат).Равно("4 5 6 7");
КонецПроцедуры
Процедура Тест_Хвост() Экспорт
ВызватьИсключение "Не реализовано";
Результат = Итератор()
.ПоДиапазону(1,10)
.КакСтроки()
.Хвост(3)
.СобратьСтроку(" ");
Ожидаем.Что(Результат).Равно("8 9 10");
КонецПроцедуры
Процедура Тест_Обратить() Экспорт
ВызватьИсключение "Не реализовано";
Результат = Итератор()
.ПоДиапазону(1,3)
.КакСтроки()
.Обратить()
.СобратьСтроку(" ");
Ожидаем.Что(Результат).Равно("3 2 1");
КонецПроцедуры
Процедура Тест_Транспонировать() Экспорт
ВызватьИсключение "Не реализовано";
Длина_А = 3;
Длина_Б = 4;
// формирование
Итератор = Итератор().Начать();
ПодИтератор = Итератор();
Для Каждого Тек_А Из Итератор().ПоДиапазону(1, Длина_А).Собрать() Цикл
ПодИтератор.Начать();
Для Каждого Тек_Б Из Итератор().ПоДиапазону(1, Длина_Б).Обратить().Собрать() Цикл
ПодИтератор.Добавить(Тек_А * 10 + Тек_Б);
КонецЦикла;
Итератор.Добавить(ПодИтератор.КакСтроки().Собрать());
КонецЦикла;
// проверка исходных
Ожидаем.Что(Итератор().ВзятьИз(Итератор.Получить(0)).СобратьСтроку(" ")).Равно("14 13 12 11");
Ожидаем.Что(Итератор().ВзятьИз(Итератор.Получить(1)).СобратьСтроку(" ")).Равно("24 23 22 21");
Ожидаем.Что(Итератор().ВзятьИз(Итератор.Получить(2)).СобратьСтроку(" ")).Равно("34 33 32 31");
// преобразование
Результат = Итератор.Транспонировать();
// проверка результата
Ожидаем.Что(Итератор().ВзятьИз(Итератор.Получить(0)).СобратьСтроку(" ")).Равно("14 24 34");
Ожидаем.Что(Итератор().ВзятьИз(Итератор.Получить(1)).СобратьСтроку(" ")).Равно("13 23 33");
Ожидаем.Что(Итератор().ВзятьИз(Итератор.Получить(2)).СобратьСтроку(" ")).Равно("12 22 32");
Ожидаем.Что(Итератор().ВзятьИз(Итератор.Получить(3)).СобратьСтроку(" ")).Равно("11 21 31");
КонецПроцедуры
Процедура Тест_Сортировать() Экспорт
ВызватьИсключение "Не реализовано";
Результат = Итератор()
.Начать()
.Добавить(7)
.Добавить(9)
.Добавить(3)
.Добавить(6)
.Сортировать()
.КакСтроки()
.СобратьСтроку(" ");
Ожидаем.Что(Результат).Равно("3 6 7 9");
КонецПроцедуры
Процедура Тест_Перемешать() Экспорт
ВызватьИсключение "Не реализовано";
Итератор = Итератор()
.Начать()
.ПоДиапазону(1,300) // чем больше тем меньше вероятность случайного провала, но дольше время теста
.КакСтроки();
Оригинал = Итератор.СобратьСтроку(" ");
мОригинал = Итератор.Собрать();
Результат = Итератор.Перемешать().СобратьСтроку(" ");
Ожидаем.Что(Итератор.Количество()).Равно(мОригинал.Количество());
Ожидаем.Что(Результат).Не_().Равно(Оригинал);
КонецПроцедуры