Skip to content

Commit 08dbb8a

Browse files
committed
Fixes #2432 Create new MoleculeProperties parameters as Global
New parameters added to a MoleculeProperties container were created with Local build mode, inconsistent with all other MoleculeProperties parameters (Global). This caused formula references to fail because the parameter was resolved as local while living at the global <MOLECULE>|parameter path. DefaultParameterBuildMode now returns Global for MoleculeProperties containers.
1 parent 187d488 commit 08dbb8a

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

src/MoBi.Core/Domain/Extensions/ContainerExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ public static ParameterBuildMode DefaultParameterBuildMode(this IContainer conta
2525
{
2626
var needsGlobalParameter = container.IsAnImplementationOf<TransporterMoleculeContainer>() ||
2727
container.IsAnImplementationOf<ReactionBuilder>() ||
28-
container.IsAnImplementationOf<InteractionContainer>();
28+
container.IsAnImplementationOf<InteractionContainer>() ||
29+
container.IsMoleculeProperties();
2930

3031
return needsGlobalParameter ? ParameterBuildMode.Global : ParameterBuildMode.Local;
3132
}

tests/MoBi.Tests/Core/Commands/AddParameterToContainerCommandSpecs.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,19 @@ protected override ParameterBuildMode GetBuildModeType()
7575
}
7676
}
7777

78+
public class When_adding_a_new_parameter_to_molecule_properties_container : When_testing_for_appropriate_parameter_build_modes
79+
{
80+
protected override IContainer GetContainer()
81+
{
82+
return new Container().WithName(Constants.MOLECULE_PROPERTIES);
83+
}
84+
85+
protected override ParameterBuildMode GetBuildModeType()
86+
{
87+
return ParameterBuildMode.Global;
88+
}
89+
}
90+
7891
public class When_adding_a_new_parameter_to_a_generic_container : When_testing_for_appropriate_parameter_build_modes
7992
{
8093
protected override IContainer GetContainer()

0 commit comments

Comments
 (0)