Skip to content

Commit

Permalink
Откачен фикс по добавлению желудей в мапу по прозвищу если задавлены …
Browse files Browse the repository at this point in the history
…верховным, оказалось что это фича а не баг
  • Loading branch information
sfaqer committed Oct 20, 2023
1 parent 85736d3 commit 778d8da
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 33 deletions.
6 changes: 3 additions & 3 deletions src/internal/Классы/ФабрикаЖелудей.os
Original file line number Diff line number Diff line change
Expand Up @@ -567,17 +567,17 @@
ИначеЕсли ОпределениеЖелудя.Верховный() И НЕ СохраненноеОпределениеЖелудя.Верховный() Тогда
// no-op: Допустимая ситуация переопределения.
// todo: Логирование
ОпределенияЖелудейПоИмени.Вставить(ОпределениеЖелудя.Имя(), ОпределениеЖелудя);
ИначеЕсли НЕ ОпределениеЖелудя.Верховный() И СохраненноеОпределениеЖелудя.Верховный() Тогда
// no-op: Допустимая ситуация непереопределения.
// todo: Логирование
Возврат;
Иначе
ВызватьИсключение "Определение желудя с именем """ + ОпределениеЖелудя.Имя() + """ уже существует";
КонецЕсли;
Иначе
ОпределенияЖелудейПоИмени.Вставить(ОпределениеЖелудя.Имя(), ОпределениеЖелудя);
КонецЕсли;

ОпределенияЖелудейПоИмени.Вставить(ОпределениеЖелудя.Имя(), ОпределениеЖелудя);

Прозвища = ОпределениеЖелудя.Прозвища();
Для Каждого Прозвище Из Прозвища Цикл

Expand Down
1 change: 1 addition & 0 deletions tests/ОдноименныеЖелуди/lib.config
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@
<class name="Желудь2" file="Классы/Желудь2.os"/>
<class name="Желудь3" file="Классы/Желудь3.os"/>
<class name="Желудь4" file="Классы/Желудь4.os"/>
<class name="Желудь5" file="Классы/Желудь5.os"/>
</package-def>
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
&Желудь
&Прозвище("Мелкий")
Процедура ПриСозданииОбъекта()

КонецПроцедуры
49 changes: 19 additions & 30 deletions tests/Поделка.os
Original file line number Diff line number Diff line change
Expand Up @@ -284,17 +284,14 @@
Ожидаем
.Что(Желуди, "Не удалось внедрить желуди по прозвищу")
.ИмеетТип("ФиксированныйМассив")
.ИмеетДлину(3);
.ИмеетДлину(2);

Ожидаем
.Что(Желуди.Найти(Поделка.НайтиЖелудь("ТестовыйЖелудь")), "Не удалось найти тестовый желудь")
.Не_().Равно(Неопределено);
Ожидаем
.Что(Желуди.Найти(Поделка.НайтиЖелудь("Желудь3")), "Не удалось найти Желудь3")
.Что(Желуди.Найти(Поделка.НайтиЖелудь("ВерховныйКругляш")), "Не удалось найти ВерховныйКругляш")
.Не_().Равно(Неопределено);

Ожидаем
.Что(Желуди.Найти(Поделка.НайтиЖелудь("ВерховныйКругляш")), "Не удалось найти ВерховныйКругляш")
.Что(Желуди.Найти(Поделка.НайтиЖелудь("Желудь3")), "Не удалось найти Желудь3")
.Не_().Равно(Неопределено);

КонецПроцедуры
Expand All @@ -305,6 +302,8 @@
Поделка = Новый Поделка();
Поделка.ЗапуститьПриложение();

а = Поделка.НайтиЖелуди("Мелкий");

// Когда-Тогда
ПараметрыМетода = Новый Массив();
ПараметрыМетода.Добавить("Мелкий");
Expand All @@ -313,7 +312,7 @@
.Метод("НайтиЖелудь", ПараметрыМетода)
.ВыбрасываетИсключение("Найдено несколько желудей с именем/прозвищем ""Мелкий""")
;

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

&Тест
Expand All @@ -328,18 +327,16 @@
// Тогда
Ожидаем
.Что(Желуди, "Не удалось получить список желудей по прозвищу")
.ИмеетДлину(3)
.ИмеетДлину(2)
;

Ожидаем
.Что(Желуди.Найти(Поделка.НайтиЖелудь("ТестовыйЖелудь")), "Не удалось найти тестовый желудь")
.Что(Желуди.Найти(Поделка.НайтиЖелудь("ВерховныйКругляш")), "Не удалось найти ВерховныйКругляш")
.Не_().Равно(Неопределено);

Ожидаем
.Что(Желуди.Найти(Поделка.НайтиЖелудь("Желудь3")), "Не удалось найти Желудь3")
.Не_().Равно(Неопределено);
Ожидаем
.Что(Желуди.Найти(Поделка.НайтиЖелудь("ВерховныйКругляш")), "Не удалось найти ВерховныйКругляш")
.Не_().Равно(Неопределено);

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

Expand Down Expand Up @@ -644,7 +641,7 @@

Ожидаем
.Что(Желуди.Количество(), "Количество желудей")
.Равно(3);
.Равно(2);

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

Expand All @@ -664,7 +661,7 @@

Ожидаем
.Что(Желуди.Количество(), "Количество желудей")
.Равно(3);
.Равно(2);

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

Expand All @@ -684,7 +681,7 @@

Ожидаем
.Что(Желуди.Количество(), "Количество желудей")
.Равно(3);
.Равно(2);

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

Expand All @@ -704,19 +701,15 @@

Ожидаем
.Что(Желуди.Количество(), "Количество желудей")
.Равно(3);
.Равно(2);

Ожидаем
.Что(Желуди["ТестовыйЖелудь"], "Желудь по имени лежит в соответствии")
.Равно(Поделка.НайтиЖелудь("ТестовыйЖелудь"));
.Что(Желуди["ВерховныйКругляш"], "Желудь по имени лежит в соответствии")
.Равно(Поделка.НайтиЖелудь("ВерховныйКругляш"));

Ожидаем
.Что(Желуди["Желудь3"], "Желудь по имени лежит в соответствии")
.Равно(Поделка.НайтиЖелудь("Желудь3"));

Ожидаем
.Что(Желуди["ВерховныйКругляш"], "Желудь по имени лежит в соответствии")
.Равно(Поделка.НайтиЖелудь("ВерховныйКругляш"));

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

Expand All @@ -736,20 +729,16 @@

Ожидаем
.Что(Желуди.Количество(), "Количество желудей")
.Равно(3);
.Равно(2);

Ожидаем
.Что(Желуди["ТестовыйЖелудь"], "Желудь по имени лежит в соответствии")
.Равно(Поделка.НайтиЖелудь("ТестовыйЖелудь"));
.Что(Желуди["ВерховныйКругляш"], "Желудь по имени лежит в соответствии")
.Равно(Поделка.НайтиЖелудь("ВерховныйКругляш"));

Ожидаем
.Что(Желуди["Желудь3"], "Желудь по имени лежит в соответствии")
.Равно(Поделка.НайтиЖелудь("Желудь3"));

Ожидаем
.Что(Желуди["ВерховныйКругляш"], "Желудь по имени лежит в соответствии")
.Равно(Поделка.НайтиЖелудь("ВерховныйКругляш"));

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

&Тест
Expand Down Expand Up @@ -914,7 +903,7 @@
.Больше(0);

Ожидаем
.Что(ОпределенияЖелудей.Получить("ТестовыйЖелудь"), "Не удалось найти определение ТестовыйЖелудь")
.Что(ОпределенияЖелудей.Получить("ВерховныйКругляш"), "Не удалось найти определение ВерховныйКругляш")
.Не_().Равно(Неопределено);

Ожидаем
Expand Down

0 comments on commit 778d8da

Please sign in to comment.