1- Перем юТест ;
2-
3- Функция ПолучитьСписокТестов (ЮнитТестирование ) Экспорт
4-
5- юТест = ЮнитТестирование;
6-
7- ВсеТесты = Новый Массив;
8- ВсеТесты.Добавить("ТестДолжен_ПроверитьХешированниеДанныхИзПотокаВПамяти" );
9-
10- Возврат ВсеТесты;
11-
12- КонецФункции
13-
14- Функция ТестДолжен_ПроверитьХешированниеДанныхИзПотокаВПамяти () Экспорт
15-
16- БДД = ПолучитьБуферДвоичныхДанныхИзHexСтроки("313233" );
17- Поток = Новый ПотокВПамяти();
18- Структура = Новый Структура("Поток" , Поток);
19- Поток.Записать(БДД, 0 , 3 );
20- Поток.Перейти(0 , ПозицияВПотоке.Начало);
21- ХД = Новый ХешированиеДанных(ХешФункция.MD5);
22- ХД.Добавить(Поток);
23- юТест.ПроверитьРавенство(Строка (ХД.ХешСумма),
24- "20 2C B9 62 AC 59 07 5B 96 4B 07 15 2D 23 4B 70" ,
25- "Не получен ожидаемый hash - 20 2C B9 62 AC 59 07 5B 96 4B 07 15 2D 23 4B 70"
26- + "Получен hash - " + Строка (ХД.ХешСумма) );
27-
28-
29- ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexСтроки("1b1e c416 6a11 c03b 3afe faea 442e 7709" );
30- Поток = ДвоичныеДанные.ОткрытьПотокДляЧтения();
31-
32- ИмяВременногоФайла = ПолучитьИмяВременногоФайла ();
33- ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла);
34- ЗаписьТекста.ЗаписатьСтроку("1b1e c416 6a11 c03b 3afe faea 442e 7709" );
35- ЗаписьТекста.Закрыть();
36-
37- ФайловыйПоток = Новый ФайловыйПоток(ИмяВременногоФайла, РежимОткрытияФайла.Открыть);
38-
39- Хеширование = Новый ХешированиеДанных(ХешФункция.SHA256);
40- Хеширование.Добавить(Поток, 2 );
41- юТест.ПроверитьРавенство("0b427acd4088d248408e38b34fb378172a05bd71e58b384f5b279beea7aea467"
42- , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
43-
44- Хеширование.Добавить(Поток, 12 );
45- юТест.ПроверитьРавенство("2a0815b87888a03406d7ab482b965361eb96112db88e8ab6ea214cb107ee8469"
46- , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
47-
48- Хеширование.Добавить(ФайловыйПоток, 2 );
49- юТест.ПроверитьРавенство("8f0ae87f4e7fa52ed08127867a7430003b312ca3777319a533ae417daa6255cc"
50- , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
51-
52- Хеширование.Добавить(ФайловыйПоток, 12 );
53- юТест.ПроверитьРавенство("4ec0ce7ec4e12c6e8922f5f1c28a582557e88731a32845a0429cda74ee7fa649"
54- , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
55-
56-
57-
58- КонецФункции
1+ Перем юТест ;
2+
3+ Функция ПолучитьСписокТестов (ЮнитТестирование ) Экспорт
4+
5+ юТест = ЮнитТестирование;
6+
7+ ВсеТесты = Новый Массив;
8+ ВсеТесты.Добавить("ТестДолжен_ПроверитьХешированниеДанныхИзПотокаВПамяти" );
9+ ВсеТесты.Добавить("ТестДолжен_ПроверитьХешированниеДанныхИзФайловогоПотока" );
10+ ВсеТесты.Добавить("ТестДолжен_ПроверитьХешированниеДанныхИзРазныхПотоков" );
11+
12+ Возврат ВсеТесты;
13+
14+ КонецФункции
15+
16+ Процедура ТестДолжен_ПроверитьХешированниеДанныхИзПотокаВПамяти () Экспорт
17+
18+ БДД = ПолучитьБуферДвоичныхДанныхИзHexСтроки("313233" );
19+ Поток = Новый ПотокВПамяти();
20+ Поток.Записать(БДД, 0 , 3 );
21+ Поток.Перейти(0 , ПозицияВПотоке.Начало);
22+ ХД = Новый ХешированиеДанных(ХешФункция.MD5);
23+ ХД.Добавить(Поток);
24+ юТест.ПроверитьРавенство(Строка (ХД.ХешСумма),
25+ "20 2C B9 62 AC 59 07 5B 96 4B 07 15 2D 23 4B 70" ,
26+ "Не получен ожидаемый hash - 20 2C B9 62 AC 59 07 5B 96 4B 07 15 2D 23 4B 70"
27+ + "Получен hash - " + Строка (ХД.ХешСумма) );
28+
29+
30+ ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexСтроки("1b1e c416 6a11 c03b 3afe faea 442e 7709" );
31+ Поток = ДвоичныеДанные.ОткрытьПотокДляЧтения();
32+
33+
34+ Хеширование = Новый ХешированиеДанных(ХешФункция.SHA256);
35+ Хеширование.Добавить(Поток, 2 );
36+ юТест.ПроверитьРавенство("0b427acd4088d248408e38b34fb378172a05bd71e58b384f5b279beea7aea467"
37+ , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
38+
39+ Хеширование.Добавить(Поток, 12 );
40+ юТест.ПроверитьРавенство("2a0815b87888a03406d7ab482b965361eb96112db88e8ab6ea214cb107ee8469"
41+ , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
42+
43+ КонецПроцедуры
44+
45+ Процедура ТестДолжен_ПроверитьХешированниеДанныхИзФайловогоПотока () Экспорт
46+
47+ ИмяВременногоФайла = юТест.ИмяВременногоФайла();
48+ ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла);
49+ ЗаписьТекста.ЗаписатьСтроку("1b1e c416 6a11 c03b 3afe faea 442e 7709" );
50+ ЗаписьТекста.Закрыть();
51+
52+ ФайловыйПоток = Новый ФайловыйПоток(ИмяВременногоФайла, РежимОткрытияФайла.Открыть);
53+
54+ Хеширование = Новый ХешированиеДанных(ХешФункция.SHA256);
55+
56+ Хеширование.Добавить(ФайловыйПоток, 2 );
57+ юТест.ПроверитьРавенство("f257f0501a5e137710e26f1c35ddd32ce2b5752f20274a648cb6d0347849a5a9"
58+ , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
59+
60+ Хеширование.Добавить(ФайловыйПоток, 12 );
61+ Сообщить (Хеширование.ХешСуммаСтрокой);
62+ юТест.ПроверитьРавенство("3bc6abfa41bb73c8bcc4c0f5f4d4db42f10f38295a0432afc592fe998465cb9a"
63+ , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
64+
65+ ФайловыйПоток.Закрыть();
66+ КонецПроцедуры
67+
68+ Процедура ТестДолжен_ПроверитьХешированниеДанныхИзРазныхПотоков () Экспорт
69+
70+ ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexСтроки("1b1e c416 6a11 c03b 3afe faea 442e 7709" );
71+ Поток = ДвоичныеДанные.ОткрытьПотокДляЧтения();
72+
73+ ИмяВременногоФайла = юТест.ИмяВременногоФайла();
74+ ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла);
75+ ЗаписьТекста.ЗаписатьСтроку("1b1e c416 6a11 c03b 3afe faea 442e 7709" );
76+ ЗаписьТекста.Закрыть();
77+
78+ ФайловыйПоток = Новый ФайловыйПоток(ИмяВременногоФайла, РежимОткрытияФайла.Открыть);
79+
80+ Хеширование = Новый ХешированиеДанных(ХешФункция.SHA256);
81+ Хеширование.Добавить(Поток, 2 );
82+ юТест.ПроверитьРавенство("0b427acd4088d248408e38b34fb378172a05bd71e58b384f5b279beea7aea467"
83+ , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
84+
85+ Хеширование.Добавить(Поток, 12 );
86+ юТест.ПроверитьРавенство("2a0815b87888a03406d7ab482b965361eb96112db88e8ab6ea214cb107ee8469"
87+ , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
88+
89+ Хеширование.Добавить(ФайловыйПоток, 2 );
90+ юТест.ПроверитьРавенство("8f0ae87f4e7fa52ed08127867a7430003b312ca3777319a533ae417daa6255cc"
91+ , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
92+
93+ Хеширование.Добавить(ФайловыйПоток, 12 );
94+ юТест.ПроверитьРавенство("4ec0ce7ec4e12c6e8922f5f1c28a582557e88731a32845a0429cda74ee7fa649"
95+ , НРег (ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма)));
96+
97+ ФайловыйПоток.Закрыть();
98+ КонецПроцедуры
0 commit comments