Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/IFailureMechanismCreateExtensionsTest.cs =================================================================== diff -u -rb5c11c4e073b7e10365ddbe62f83418ebaba14c4 -rc312034c7478db99d3c2ef96b1c351df806e8d21 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/IFailureMechanismCreateExtensionsTest.cs (.../IFailureMechanismCreateExtensionsTest.cs) (revision b5c11c4e073b7e10365ddbe62f83418ebaba14c4) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/IFailureMechanismCreateExtensionsTest.cs (.../IFailureMechanismCreateExtensionsTest.cs) (revision c312034c7478db99d3c2ef96b1c351df806e8d21) @@ -24,6 +24,8 @@ using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.TestUtil; using NUnit.Framework; + +using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.TestUtil; namespace Application.Ringtoets.Storage.Test.Create @@ -87,5 +89,24 @@ // Assert Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); } + + [Test] + public void Create_StringPropertiesDoNotShareReference() + { + // Setup + const string original = "ladida"; + IFailureMechanism failureMechanism = new TestFailureMechanism("a", "cool"); + failureMechanism.Comments = original; + + var registry = new PersistenceRegistry(); + + // Call + FailureMechanismEntity entity = failureMechanism.Create(FailureMechanismType.DuneErosion, registry); + + // Assert + Assert.AreNotSame(original, entity.Comments, + "To create stable binary representations/fingerprints, it's really important that strings are not shared."); + Assert.AreEqual(original, entity.Comments); + } } } \ No newline at end of file