/
EvilBeaver
/
OneScript
Обзор
Документация
Войти
/
EvilBeaver
/
OneScript
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
tests/random.os
108 строк
4 KB
EvilBeaver
Нормализация seed до размера Int32
24 дек 2021, 20:43
24 дек 2021, 20:43
fa8c31b
Код
Авторство
О чём код?
/////////////////////////////////////////////////////////////////////// // // Тест проверки работы генератора случайных чисел // // /////////////////////////////////////////////////////////////////////// Перем юТест; //////////////////////////////////////////////////////////////////// // Программный интерфейс Функция Версия() Экспорт Возврат "0.1"; КонецФункции Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт юТест = ЮнитТестирование; ВсеТесты = Новый Массив; ВсеТесты.Добавить("ТестДолжен_СоздатьГенератор"); ВсеТесты.Добавить("ТестДолжен_ПроверитьДоступныеГраницы"); ВсеТесты.Добавить("ТестДолжен_ПроверитьГраницыНачальногоЗначения"); Возврат ВсеТесты; КонецФункции Процедура ТестДолжен_СоздатьГенератор() Экспорт Перем Г; Попытка Г = Новый ГенераторСлучайныхЧисел(); Исключение юТест.ПроверитьИстину(Ложь, "Ошибка создания генератора случайных чисел!"); КонецПопытки; КонецПроцедуры Процедура ТестДолжен_ПроверитьДоступныеГраницы() Экспорт // Заявляется работа с диапазоном [0..4294967295] Перем Г; Г = Новый ГенераторСлучайныхЧисел(); Г.СлучайноеЧисло(0, 4294967295); // Проверить, что не валится с ошибкой Попытка Г.СлучайноеЧисло(-10, 4294967295); Г.СлучайноеЧисло(0, 4294967296); Г.СлучайноеЧисло(10, 5); Ошибка = Истина; Исключение Ошибка = Ложь; КонецПопытки; юТест.ПроверитьЛожь(Ошибка, "Ошибка проверок границ работы метода `СлучайноеЧисло()`."); КоличествоПроверок = 1000; Пока КоличествоПроверок > 0 Цикл Граница1 = Г.СлучайноеЧисло(0, 4294967295); Граница2 = Г.СлучайноеЧисло(Граница1, 4294967295); Ч = Г.СлучайноеЧисло(Граница1, Граница2); юТест.ПроверитьИстину(Ч >= Граница1, "Проверка диапазона 1"); юТест.ПроверитьИстину(Ч <= Граница2, "Проверка диапазона 2"); КоличествоПроверок = КоличествоПроверок - 1; КонецЦикла; КонецПроцедуры Процедура ТестДолжен_ПроверитьГраницыНачальногоЗначения() Экспорт ГсчМин1 = Новый ГенераторСлучайныхЧисел(-36893488147419103232); ГсчМин2 = Новый ГенераторСлучайныхЧисел(-36893488147419103232); юТест.ПроверитьРавенство(ГсчМин1.СлучайноеЧисло(), ГсчМин2.СлучайноеЧисло()); ГсчМин1 = Новый ГенераторСлучайныхЧисел(36893488147419103232); ГсчМин2 = Новый ГенераторСлучайныхЧисел(36893488147419103232); юТест.ПроверитьРавенство(ГсчМин1.СлучайноеЧисло(), ГсчМин2.СлучайноеЧисло()); ГсчМин1 = Новый ГенераторСлучайныхЧисел(36893488147419103.232); ГсчМин2 = Новый ГенераторСлучайныхЧисел(36893488147419103.232); юТест.ПроверитьРавенство(ГсчМин1.СлучайноеЧисло(), ГсчМин2.СлучайноеЧисло()); КонецПроцедуры