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