Skip to content

Commit b4e8fb8

Browse files
committed
closes EvilBeaver#1646 Ошибка метода ЗаполнитьЗначенияСвойств на ФиксированнойСтруктуре
1 parent f8b9e00 commit b4e8fb8

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/OneScript.StandardLibrary/Collections/FixedStructureImpl.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@ public override BslPropertyInfo GetPropertyInfo(int propertyNumber)
8585
.Build();
8686
}
8787

88+
public override string GetPropName(int propNum)
89+
{
90+
return _structure.GetPropName(propNum);
91+
}
92+
8893
public override void CallAsProcedure(int methodNumber, IValue[] arguments, IBslProcess process)
8994
{
9095
var binding = _methods.GetCallableDelegate(methodNumber);

tests/fixed-structure.os

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
ВсеТесты.Добавить("ТестДолжен_ПроверитьМетодСвойство");
2525
ВсеТесты.Добавить("ТестДолжен_ПроверитьОтсутствиеМетодаВставить");
2626
ВсеТесты.Добавить("ТестДолжен_СоздатьСтруктуруПоФиксированнойСтруктуре");
27+
ВсеТесты.Добавить("ТестДолжен_ПроверитьЗаполнитьЗначенияСвойствИзФиксированнойСтруктуры");
2728

2829
Возврат ВсеТесты;
2930
КонецФункции
@@ -165,3 +166,17 @@
165166
Ожидаем.Что(Структура.Ключ2, "значения элементов совпадут").Равно(ФиксированнаяСтруктура.Ключ2);
166167

167168
КонецПроцедуры
169+
170+
Процедура ТестДолжен_ПроверитьЗаполнитьЗначенияСвойствИзФиксированнойСтруктуры() Экспорт
171+
172+
Структура1 = Новый ФиксированнаяСтруктура("тест1,тест2,тест3", "тест", Истина);
173+
Структура2 = Новый Структура(Структура1);
174+
175+
// Проверяем, что метод ЗаполнитьЗначенияСвойств работает с ФиксированнаяСтруктура
176+
ЗаполнитьЗначенияСвойств(Структура2, Структура1);
177+
178+
Ожидаем.Что(Структура2.тест1, "значения свойства тест1 совпадут").Равно(Структура1.тест1);
179+
Ожидаем.Что(Структура2.тест2, "значения свойства тест2 совпадут").Равно(Структура1.тест2);
180+
Ожидаем.Что(Структура2.тест3, "значения свойства тест3 совпадут").Равно(Структура1.тест3);
181+
182+
КонецПроцедуры

0 commit comments

Comments
 (0)