/
EvilBeaver
/
OneScript
Обзор
Документация
Войти
/
EvilBeaver
/
OneScript
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
tests/collections.os
149 строк
9 KB
EvilBeaver
Исправлена вставка ключа Null в соответствие fixes #1647
12 янв 2026, 13:48
12 янв 2026, 13:48
877a682
Код
Авторство
О чём код?
Перем юТест; Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт юТест = ЮнитТестирование; ВсеТесты = Новый Массив; ВсеТесты.Добавить("ТестДолжен_ПроверитьКлючНеопределеноВСоответствии"); ВсеТесты.Добавить("ТестДолжен_ПроверитьКлючNullВСоответствии"); ВсеТесты.Добавить("ТестДолжен_ПроверитьКлючБулевоВСоответствии"); ВсеТесты.Добавить("ТестДолжен_ПроверитьКлючЧислоВСоответствии"); ВсеТесты.Добавить("ТестДолжен_ПроверитьКлючСтрокаВСоответствии"); ВсеТесты.Добавить("ТестДолжен_ПроверитьКлючДатаВСоответствии"); ВсеТесты.Добавить("ТестДолжен_ПроверитьКлючУникальныйИдентификаторВСоответствии"); ВсеТесты.Добавить("ТестДолжен_ПроверитьКлючТипВСоответствии"); ВсеТесты.Добавить("ТестДолжен_ПроверитьРазличныеКлючиВСоответствии"); Возврат ВсеТесты; КонецФункции Процедура ТестДолжен_ПроверитьКлючНеопределеноВСоответствии() Экспорт Соотв = Новый Соответствие; Соотв[Неопределено] = Истина; юТест.ПроверитьРавенство(1, Соотв.Количество()); юТест.ПроверитьРавенство(Истина, Соотв[Неопределено]); КонецПроцедуры Процедура ТестДолжен_ПроверитьКлючNullВСоответствии() Экспорт Соотв = Новый Соответствие; Соотв.Вставить(Null, "Значение для Null"); юТест.ПроверитьРавенство(1, Соотв.Количество()); юТест.ПроверитьРавенство("Значение для Null", Соотв[Null]); КонецПроцедуры Процедура ТестДолжен_ПроверитьКлючБулевоВСоответствии() Экспорт Соотв = Новый Соответствие; Соотв.Вставить(Истина, "Значение для Истина"); Соотв.Вставить(Ложь, "Значение для Ложь"); юТест.ПроверитьРавенство(2, Соотв.Количество()); юТест.ПроверитьРавенство("Значение для Истина", Соотв[Истина]); юТест.ПроверитьРавенство("Значение для Ложь", Соотв[Ложь]); КонецПроцедуры Процедура ТестДолжен_ПроверитьКлючЧислоВСоответствии() Экспорт Соотв = Новый Соответствие; Соотв.Вставить(42, "Значение для 42"); Соотв.Вставить(0, "Значение для 0"); Соотв.Вставить(-100, "Значение для -100"); Соотв.Вставить(3.14, "Значение для 3.14"); юТест.ПроверитьРавенство(4, Соотв.Количество()); юТест.ПроверитьРавенство("Значение для 42", Соотв[42]); юТест.ПроверитьРавенство("Значение для 0", Соотв[0]); юТест.ПроверитьРавенство("Значение для -100", Соотв[-100]); юТест.ПроверитьРавенство("Значение для 3.14", Соотв[3.14]); КонецПроцедуры Процедура ТестДолжен_ПроверитьКлючСтрокаВСоответствии() Экспорт Соотв = Новый Соответствие; Соотв.Вставить("Ключ1", "Значение1"); Соотв.Вставить("Ключ2", "Значение2"); Соотв.Вставить("", "Значение для пустой строки"); юТест.ПроверитьРавенство(3, Соотв.Количество()); юТест.ПроверитьРавенство("Значение1", Соотв["Ключ1"]); юТест.ПроверитьРавенство("Значение2", Соотв["Ключ2"]); юТест.ПроверитьРавенство("Значение для пустой строки", Соотв[""]); КонецПроцедуры Процедура ТестДолжен_ПроверитьКлючДатаВСоответствии() Экспорт Соотв = Новый Соответствие; Дата1 = '20151231'; Дата2 = '20200101'; Соотв.Вставить(Дата1, "Значение для Дата1"); Соотв.Вставить(Дата2, "Значение для Дата2"); юТест.ПроверитьРавенство(2, Соотв.Количество()); юТест.ПроверитьРавенство("Значение для Дата1", Соотв[Дата1]); юТест.ПроверитьРавенство("Значение для Дата2", Соотв[Дата2]); КонецПроцедуры Процедура ТестДолжен_ПроверитьКлючУникальныйИдентификаторВСоответствии() Экспорт Соотв = Новый Соответствие; УИД1 = Новый УникальныйИдентификатор; УИД2 = Новый УникальныйИдентификатор; Соотв.Вставить(УИД1, "Значение для УИД1"); Соотв.Вставить(УИД2, "Значение для УИД2"); юТест.ПроверитьРавенство(2, Соотв.Количество()); юТест.ПроверитьРавенство("Значение для УИД1", Соотв[УИД1]); юТест.ПроверитьРавенство("Значение для УИД2", Соотв[УИД2]); КонецПроцедуры Процедура ТестДолжен_ПроверитьКлючТипВСоответствии() Экспорт Соотв = Новый Соответствие; Тип1 = Тип("Строка"); Тип2 = Тип("Число"); Соотв.Вставить(Тип1, "Значение для Тип Строка"); Соотв.Вставить(Тип2, "Значение для Тип Число"); юТест.ПроверитьРавенство(2, Соотв.Количество()); юТест.ПроверитьРавенство("Значение для Тип Строка", Соотв[Тип1]); юТест.ПроверитьРавенство("Значение для Тип Число", Соотв[Тип2]); КонецПроцедуры Процедура ТестДолжен_ПроверитьРазличныеКлючиВСоответствии() Экспорт // Проверка, что различные типы значений могут быть одновременно ключами Соотв = Новый Соответствие; Соотв[Неопределено] = "Неопределено"; Соотв[Null] = "Null"; Соотв[Истина] = "Истина"; Соотв[42] = "Число"; Соотв["Текст"] = "Строка"; Соотв['20240101'] = "Дата"; Соотв[Тип("Строка")] = "Тип"; юТест.ПроверитьРавенство(7, Соотв.Количество()); юТест.ПроверитьРавенство("Неопределено", Соотв[Неопределено]); юТест.ПроверитьРавенство("Null", Соотв[Null]); юТест.ПроверитьРавенство("Истина", Соотв[Истина]); юТест.ПроверитьРавенство("Число", Соотв[42]); юТест.ПроверитьРавенство("Строка", Соотв["Текст"]); юТест.ПроверитьРавенство("Дата", Соотв['20240101']); юТест.ПроверитьРавенство("Тип", Соотв[Тип("Строка")]); КонецПроцедуры