/
EvilBeaver
/
OneScript
Обзор
Документация
Войти
/
EvilBeaver
/
OneScript
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
v1.9.3
tests/fixed-array.os
164 строки
7 KB
Michael Rybakin
fix #891: проверка имен удаляемых ключей Структуры; исправлены тесты
04 июн 2019, 20:43
04 июн 2019, 20:43
b8033a0
Код
Авторство
О чём код?
#Использовать asserts /////////////////////////////////////////////////////////////////////// // Тест класса ФиксированныйМассив /////////////////////////////////////////////////////////////////////// Перем юТест; //////////////////////////////////////////////////////////////////// // Программный интерфейс Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт юТест = ЮнитТестирование; ВсеТесты = Новый Массив; ВсеТесты.Добавить("ТестДолжен_СоздатьФиксированныйМассивПоМассиву"); ВсеТесты.Добавить("ТестДолжен_СоздатьМассивПоФиксированномуМассиву"); ВсеТесты.Добавить("ТестДолжен_ПроверитьНеизменностьФиксированногоМассива"); ВсеТесты.Добавить("ТестДолжен_ПроверитьОтсутствиеНенужныхМетодов"); Возврат ВсеТесты; КонецФункции Процедура ТестДолжен_СоздатьМассивПоФиксированномуМассиву() Экспорт Массив = Новый Массив; юТест.ПодробныеОписанияОшибок(Истина); Количество = 10; Пока Количество > 0 Цикл Массив.Добавить(Количество); Количество = Количество - 1; КонецЦикла; ФиксированныйМассив = Новый ФиксированныйМассив(Массив); НовыйМассив = Новый Массив(ФиксированныйМассив); Ожидаем.Что(ТипЗнч(НовыйМассив)).Равно(Тип("Массив")); Ожидаем.Что(НовыйМассив.Количество(), "количество элементов исходной и полученной структуры совпадут").Равно(Массив.Количество()); Ожидаем.Что(НовыйМассив.ВГраница(), "верхние границы массивов совпадут").Равно(Массив.ВГраница()); Для Инд = 0 По НовыйМассив.ВГраница() Цикл Ожидаем.Что(НовыйМассив[Инд], "каждый элемент массив совпадает").Равно(Массив[Инд]); КонецЦикла; КонецПроцедуры Процедура ТестДолжен_СоздатьФиксированныйМассивПоМассиву() Экспорт Массив = Новый Массив; Количество = 10; Пока Количество > 0 Цикл Массив.Добавить(Количество); Количество = Количество - 1; КонецЦикла; ФиксированныйМассив = Новый ФиксированныйМассив(Массив); Ожидаем.Что(ТипЗнч(ФиксированныйМассив)).Равно(Тип("ФиксированныйМассив")); Ожидаем.Что(ФиксированныйМассив.Количество(), "количество элементов исходной и полученной структуры совпадут").Равно(Массив.Количество()); Ожидаем.Что(ФиксированныйМассив.ВГраница(), "верхние границы массивов совпадут").Равно(Массив.ВГраница()); Для Инд = 0 По ФиксированныйМассив.ВГраница() Цикл Ожидаем.Что(ФиксированныйМассив[Инд], "каждый элемент массив совпадает").Равно(Массив[Инд]); КонецЦикла; КонецПроцедуры Процедура ТестДолжен_ПроверитьНеизменностьФиксированногоМассива() Экспорт Массив = Новый Массив; Количество = 10; Пока Количество > 0 Цикл Массив.Добавить(Количество); Количество = Количество - 1; КонецЦикла; ФиксированныйМассив = Новый ФиксированныйМассив(Массив); Массив[0] = 0; Ожидаем.Что(ФиксированныйМассив[0], "не изменился элемент массива").Равно(10); Массив.Очистить(); Ожидаем.Что(ФиксированныйМассив.Количество(), "не изменился размер массива").Равно(10); Попытка ФиксированныйМассив[0] = 5; Исключение Ожидаем.Что(ФиксированныйМассив[0], "не изменился элемент массива").Равно(10); Если Не ИнформацияОбОшибке().Описание = "Индексированное значение доступно только для чтения" Тогда ВызватьИсключение; КонецЕсли; Возврат; КонецПопытки; ВызватьИсключение "Значение в фиксированный массив было установлено"; КонецПроцедуры Процедура ТестДолжен_ПроверитьОтсутствиеНенужныхМетодов() Экспорт ФиксированныйМассив = Новый ФиксированныйМассив(Новый Массив); Попытка ФиксированныйМассив.Добавить(0); Обнаружен = Истина; Исключение Обнаружен = Ложь; КонецПопытки; Если Обнаружен Тогда ВызватьИсключение "Обнаружен метод Добавить!"; КонецЕсли; Попытка ФиксированныйМассив.Вставить(0, 0); Обнаружен = Истина; Исключение Обнаружен = Ложь; КонецПопытки; Если Обнаружен Тогда ВызватьИсключение "Обнаружен метод Вставить!"; КонецЕсли; Попытка ФиксированныйМассив.Удалить(0); Обнаружен = Истина; Исключение Обнаружен = Ложь; КонецПопытки; Если Обнаружен Тогда ВызватьИсключение "Обнаружен метод Удалить!"; КонецЕсли; Попытка ФиксированныйМассив.Очистить(); Обнаружен = Истина; Исключение Обнаружен = Ложь; КонецПопытки; Если Обнаружен Тогда ВызватьИсключение "Обнаружен метод Очистить!"; КонецЕсли; КонецПроцедуры