Skip to content

Commit

Permalink
Добавлены тесты на синхронизацию полей после исключения
Browse files Browse the repository at this point in the history
  • Loading branch information
sfaqer committed Oct 4, 2023
1 parent 0d5f913 commit 0f4b860
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 0 deletions.
10 changes: 10 additions & 0 deletions tests/fixtures/Классы/МойКласс.os
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,20 @@
Поле = НовоеЗначение;
КонецПроцедуры

Процедура ИзменитьЗначениеПоляИВызватьИсключение(НовоеЗначение) Экспорт
Поле = НовоеЗначение;
ВызватьИсключение "ЯОжидаемаяОшибка";
КонецПроцедуры

Процедура ИзменитьЗначениеПриватногоПоля(НовоеЗначение) Экспорт
ПриватноеПоле = НовоеЗначение;
КонецПроцедуры

Процедура ИзменитьЗначениеПриватногоПоляИВызватьИсключение(НовоеЗначение) Экспорт
ПриватноеПоле = НовоеЗначение;
ВызватьИсключение "ЯОжидаемаяОшибка";
КонецПроцедуры

Функция ВернутьЭтотОбъект() Экспорт
Возврат ЭтотОбъект;
КонецФункции
Expand Down
18 changes: 18 additions & 0 deletions tests/Тесты_КонструкторДекоратора.os
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,24 @@
Ожидаем.Что(Декоратор.Поле).Равно(100);
КонецПроцедуры

&Тест
Процедура ПоляОбъектаСинхронизируютсяОбратноПослеИсключения() Экспорт
МойКласс = Новый МойКласс;
МойКласс.Поле = 123;

Декоратор = Новый КонструкторДекоратора(МойКласс).Построить();

Параметры = Новый Массив;
Параметры.Добавить(100);

Ожидаем.Что(Декоратор)
.Метод("ИзменитьЗначениеПоляИВызватьИсключение", Параметры)
.ВыбрасываетИсключение("ЯОжидаемаяОшибка");

Ожидаем.Что(Декоратор.Поле).Равно(100);

КонецПроцедуры

&Тест
Процедура ФункцияДобавляется() Экспорт
МойКласс = Новый МойКласс;
Expand Down
39 changes: 39 additions & 0 deletions tests/Тесты_ПостроительДекоратора.os
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,24 @@
Ожидаем.Что(Декоратор.Поле).Равно(100);
КонецПроцедуры

&Тест
Процедура ПоляОбъектаСинхронизируютсяОбратноПослеИсключения() Экспорт
МойКласс = Новый МойКласс;
МойКласс.Поле = 123;

Декоратор = Новый КонструкторДекоратора(МойКласс).Построить();

Параметры = Новый Массив;
Параметры.Добавить(100);

Ожидаем.Что(Декоратор)
.Метод("ИзменитьЗначениеПоляИВызватьИсключение", Параметры)
.ВыбрасываетИсключение("ЯОжидаемаяОшибка");

Ожидаем.Что(Декоратор.Поле).Равно(100);

КонецПроцедуры

&Тест
Процедура ПриватныеПоляОбъектаСинхронизируютсяОбратно() Экспорт

Expand All @@ -180,6 +198,27 @@

КонецПроцедуры

&Тест
Процедура ПриватныеПоляОбъектаСинхронизируютсяОбратноПослеИсключения() Экспорт

МойКласс = Новый МойКласс;

Рефлектор = Новый Рефлектор();
Рефлектор.УстановитьСвойство(МойКласс, "ПриватноеПоле", 123);

Декоратор = Новый ПостроительДекоратора(МойКласс).Построить();

Параметры = Новый Массив;
Параметры.Добавить(100);

Ожидаем.Что(Декоратор)
.Метод("ИзменитьЗначениеПриватногоПоляИВызватьИсключение", Параметры)
.ВыбрасываетИсключение("ЯОжидаемаяОшибка");

Ожидаем.Что(Рефлектор.ПолучитьСвойство(Декоратор, "ПриватноеПоле")).Равно(100);

КонецПроцедуры

&Тест
Процедура ФункцияДобавляется() Экспорт

Expand Down

0 comments on commit 0f4b860

Please sign in to comment.