Index: src/Deltares.DSoilModel.Data/DSoilModelTransformer.cs =================================================================== diff -u -r132 -r133 --- src/Deltares.DSoilModel.Data/DSoilModelTransformer.cs (.../DSoilModelTransformer.cs) (revision 132) +++ src/Deltares.DSoilModel.Data/DSoilModelTransformer.cs (.../DSoilModelTransformer.cs) (revision 133) @@ -22,7 +22,7 @@ { // currect exception from the rule dictated by huge amount of dependency on original property names and // changing it is way to complex and affects a lot of legacy projects - if (pcs.GetMemberName(x => x.StressStochast) == property) + if (pcs.GetMemberName(x => x.StressValue) == property) { return pcs.StressStochast; } Index: src/Deltares.DSoilModel.Data.Tests/DSoilModelTransformerTests.cs =================================================================== diff -u -r132 -r133 --- src/Deltares.DSoilModel.Data.Tests/DSoilModelTransformerTests.cs (.../DSoilModelTransformerTests.cs) (revision 132) +++ src/Deltares.DSoilModel.Data.Tests/DSoilModelTransformerTests.cs (.../DSoilModelTransformerTests.cs) (revision 133) @@ -1,5 +1,6 @@ using System; using System.Reflection; +using System.Runtime.Serialization; using Deltares.Geotechnics; using Deltares.Probabilistic; using Deltares.Standard; @@ -48,5 +49,25 @@ Assert.AreSame(stochast, FindAutoStochastProperty(obj, stochast.AssociatedPropertyName)); } } + + [Test] + [TestCase(typeof(Soil), "Cohesion", 20)] + [TestCase(typeof(Soil), "BeddingAngle", 18)] + [TestCase(typeof(PreConsolidationStress), "StressValue", 0)] + public void TestStochasticPropertiesUncoupled(Type objType, string propertyName, double defaultValue) + { + var obj = Activator.CreateInstance(objType); + var deterministicProperty = obj.GetType().GetProperty(propertyName); + var stochasticProperty = FindAutoStochastProperty(obj, propertyName); // reusing method that we already test + + Assert.AreEqual(defaultValue, deterministicProperty.GetValue(obj, null)); + Assert.AreEqual(defaultValue, stochasticProperty.Mean); + + var changedValue = defaultValue + 1; + deterministicProperty.SetValue(obj, changedValue, null); + + Assert.AreEqual(changedValue, deterministicProperty.GetValue(obj, null)); // deterministic property indeed changed + Assert.AreEqual(defaultValue, stochasticProperty.Mean); // but stochastic property remained its mean value + } } }