1+ ///////////////////////////////////////////////////////////////////////
2+ //
3+ // Тест для парсера JSON
4+ //
5+ ///////////////////////////////////////////////////////////////////////
6+ #Использовать ".."
7+
8+ Перем юТест ;
9+ Перем _преобразовательJSON ;
10+
11+ ////////////////////////////////////////////////////////////////////
12+ // Программный интерфейс
13+
14+ Функция Инициализация ()
15+
16+ _преобразовательJSON = Новый ПарсерJSON();
17+
18+ КонецФункции
19+
20+
21+ Функция ПолучитьСписокТестов (ЮнитТестирование ) Экспорт
22+
23+ юТест = ЮнитТестирование;
24+
25+ ВсеТесты = Новый Массив;
26+
27+ ВсеТесты.Добавить("ТестДолжен_ПроверитьПростойJSON" );
28+ ВсеТесты.Добавить("ТестДолжен_ПроверитьФайлMockНаЧтение" );
29+ ВсеТесты.Добавить("ТестДолжен_ПроверитьФайлMockНаЗапись" );
30+
31+ Возврат ВсеТесты;
32+ КонецФункции
33+
34+ Процедура ТестДолжен_ПроверитьПростойJSON () Экспорт
35+
36+ тестовыйJSON = "{
37+ | "" firstName"" : "" Иван"" ,
38+ | "" lastName"" : "" Иванов"" ,
39+ | "" address"" : {
40+ | "" streetAddress"" : "" Московское ш., 101, кв.101"" ,
41+ | "" city"" : "" Ленинград"" ,
42+ | "" postalCode"" : 101101
43+ | },
44+ | "" phoneNumbers"" : [
45+ | "" 812 123-1234"" ,
46+ | "" 916 123-4567""
47+ | ]
48+ |}" ;
49+
50+ типаОбъект = _преобразовательJSON.ПрочитатьJSON(тестовыйJSON);
51+
52+ ОбъектСтрокой = _преобразовательJSON.ЗаписатьJSON(типаОбъект);
53+
54+ юТест.ПроверитьРавенство(ПривестиОкончанияСтрок(ОбъектСтрокой), ПривестиОкончанияСтрок(тестовыйJSON));
55+
56+ КонецПроцедуры
57+
58+ Процедура ТестДолжен_ПроверитьФайлMockНаЧтение () Экспорт
59+
60+ КаталогСкрипта = Новый Файл(ТекущийСценарий().Источник).Путь;
61+ ЧтениеТекста = Новый ЧтениеТекста(КаталогСкрипта + "/json-mock.json" );
62+
63+ СтрокаJSON = ЧтениеТекста.Прочитать();
64+ ЧтениеТекста.Закрыть();
65+
66+ Объект = _преобразовательJSON.ПрочитатьJSON(СтрокаJSON);
67+
68+ Сообщить ("Тип полученного объекта: " + ТипЗнч (Объект));
69+
70+ юТест.ПроверитьРавенство(Тип ("Соответствие" ), ТипЗнч (Объект));
71+
72+ КонецПроцедуры
73+
74+ Процедура ТестДолжен_ПроверитьФайлMockНаЗапись () Экспорт
75+ КаталогСкрипта = Новый Файл(ТекущийСценарий().Источник).Путь;
76+ ЧтениеТекста = Новый ЧтениеТекста(КаталогСкрипта + "/json-mock.json" );
77+
78+ СтрокаJSON = ЧтениеТекста.Прочитать();
79+ ЧтениеТекста.Закрыть();
80+
81+ Объект = _преобразовательJSON.ПрочитатьJSON(СтрокаJSON);
82+
83+ СтрокаJSON2 = _преобразовательJSON.ЗаписатьJSON(Объект);
84+ // assert примитивный, желающие могут сделать проверку получше.
85+ юТест.ПроверитьЛожь(ПустаяСтрока (СтрокаJSON2));
86+
87+ КонецПроцедуры
88+
89+ Функция ПривестиОкончанияСтрок (Знач ИсходныйТекст )
90+ Возврат СтрЗаменить (ИсходныйТекст, Символы.ВК + Символы.ПС, Символы.ПС);
91+ КонецФункции
92+
93+ ///////////////////////////////////////////////////////////////////
94+ // Точка входа
95+
96+ Инициализация();
0 commit comments