|
36 | 36 | ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоКириллицаМаскируется"); |
37 | 37 | ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоКириллицаНеМаскируется"); |
38 | 38 |
|
| 39 | + ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоПримитивныеЗначенияКлючейПреобразуютсяКСтроке"); |
| 40 | + ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоПримитивныеЗначенияКлючейВызываютИсключение"); |
| 41 | + |
39 | 42 | Возврат ВсеТесты; |
40 | 43 | КонецФункции |
41 | 44 |
|
|
183 | 186 |
|
184 | 187 | КонецПроцедуры |
185 | 188 |
|
| 189 | +Процедура ТестДолжен_ПроверитьЧтоПримитивныеЗначенияКлючейПреобразуютсяКСтроке() Экспорт |
| 190 | + |
| 191 | + УникальныйИдентификатор = Новый УникальныйИдентификатор; |
| 192 | + |
| 193 | + Эталон = "{ |
| 194 | + | """": ""Null"", |
| 195 | + | ""Да"": ""Истина"", |
| 196 | + | ""42"": ""Ответ на самый главный вопрос жизни, Вселенной и всего такого"", |
| 197 | + | ""31.12.2015 0:00:00"": ""С Новым Годом!"", |
| 198 | + | """ + Строка(УникальныйИдентификатор) + """: ""Это GUID"" |
| 199 | + |}"; |
| 200 | + |
| 201 | + Объект = Новый Соответствие; |
| 202 | + Объект.Вставить(Null, "Null"); |
| 203 | + Объект.Вставить(Истина, "Истина"); |
| 204 | + Объект.Вставить(42, "Ответ на самый главный вопрос жизни, Вселенной и всего такого"); |
| 205 | + Объект.Вставить(Дата(2015,12,31), "С Новым Годом!"); |
| 206 | + Объект.Вставить(УникальныйИдентификатор, "Это GUID"); |
| 207 | + |
| 208 | + СтрокаJSON = _преобразовательJSON.ЗаписатьJSON(Объект,,,,,Истина); |
| 209 | + |
| 210 | + юТест.ПроверитьРавенство(Эталон, СтрокаJSON); |
| 211 | + |
| 212 | +КонецПроцедуры |
| 213 | + |
| 214 | +Процедура ТестДолжен_ПроверитьЧтоПримитивныеЗначенияКлючейВызываютИсключение() Экспорт |
| 215 | + |
| 216 | + юТест.ПроверитьИстину(НедопустимыйТипЗначенияКлючаВызываетИсключение(Null), |
| 217 | + "Null-значение использовано в качестве ключа, а должно вызывать исключение"); |
| 218 | + |
| 219 | + юТест.ПроверитьИстину(НедопустимыйТипЗначенияКлючаВызываетИсключение(Истина), |
| 220 | + "Булево значение в использовано качестве ключа, а должно вызывать исключение"); |
| 221 | + |
| 222 | + юТест.ПроверитьИстину(НедопустимыйТипЗначенияКлючаВызываетИсключение(42), |
| 223 | + "Число использовано в качестве ключа, а должно вызывать исключение"); |
| 224 | + |
| 225 | + юТест.ПроверитьИстину(НедопустимыйТипЗначенияКлючаВызываетИсключение(Дата(2015,12,31)), |
| 226 | + "Дата использована в качестве ключа, а должна вызывать исключение"); |
| 227 | + |
| 228 | + юТест.ПроверитьИстину(НедопустимыйТипЗначенияКлючаВызываетИсключение(Новый УникальныйИдентификатор), |
| 229 | + "Уникальный идентификатор использован в качестве ключа, а должно вызывать исключение"); |
| 230 | + |
| 231 | +КонецПроцедуры |
| 232 | + |
| 233 | +Функция НедопустимыйТипЗначенияКлючаВызываетИсключение(ЗначениеКлюча) |
| 234 | + Объект = Новый Соответствие; |
| 235 | + Объект.Вставить(ЗначениеКлюча, "Значение"); |
| 236 | + Попытка |
| 237 | + СтрокаJSON = _преобразовательJSON.ЗаписатьJSON(Объект); |
| 238 | + Возврат Ложь; |
| 239 | + Исключение |
| 240 | + ОписаниеОшибки = ОписаниеОшибки(); |
| 241 | + Если Найти(ОписаниеОшибки, "JSON: Недопустимый тип значения ключа") > 0 Тогда |
| 242 | + Возврат Истина; |
| 243 | + КонецЕсли; |
| 244 | + ВызватьИсключение ОписаниеОшибки; |
| 245 | + КонецПопытки |
| 246 | +КонецФункции |
| 247 | + |
186 | 248 | Функция ПолучитьСтрокуСимволов(НачалоДиапазона, КонецДиапазона) |
187 | 249 | СтрРезультат = ""; |
188 | 250 | Для КодСимвола = НачалоДиапазона По КонецДиапазона Цикл |
|
0 commit comments