Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/ObjectRegistryTest.cs
===================================================================
diff -u
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/ObjectRegistryTest.cs (revision 0)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/ObjectRegistryTest.cs (revision 6367)
@@ -0,0 +1,98 @@
+// Copyright (C) Stichting Deltares 2024. All rights reserved.
+//
+// This file is part of the Dam Engine.
+//
+// The Dam Engine is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.MacroStabilityIo;
+using NUnit.Framework;
+
+namespace Deltares.DamEngine.Calculators.Tests.KernelWrappers.MacroStabilityCommon.MacroStabilityIo;
+
+[TestFixture]
+public class ObjectRegistryTest
+{
+ [TestFixture]
+ public class GivenObjectRegistry
+ {
+ private static ObjectRegistry objectRegistry;
+
+ [SetUp]
+ public static void Arrange()
+ {
+ objectRegistry = new ObjectRegistry();
+ }
+
+ [Test]
+ public static void WhenGetObjectFromNonExistingIndex_ThenThrowsInvalidOperationException()
+ {
+ Assert.That(() => objectRegistry.GetObject(0), Throws.InstanceOf());
+ }
+
+ [Test]
+ public static void WhenGetIdWithoutObject_ThenThrowsArgumentNullException()
+ {
+ Assert.That(() => objectRegistry.GetId(null), Throws.ArgumentNullException);
+ }
+
+ [TestFixture]
+ public class WhenGetId : GivenObjectRegistry
+ {
+ private static int index;
+ private static object @object;
+
+ [SetUp]
+ public new static void Arrange()
+ {
+ @object = new object();
+ index = objectRegistry.GetId(@object);
+ }
+
+ [Test]
+ public static void ThenIndexIsZero()
+ {
+ Assert.That(index, Is.Zero);
+ }
+
+ [Test]
+ public static void WhenGetObjectUsingReceivedIndex_ThenObjectIsTheSame()
+ {
+ object receivedObject = objectRegistry.GetObject(index);
+
+ Assert.That(receivedObject, Is.SameAs(@object));
+ }
+
+ [Test]
+ public static void WhenGetIdFromOtherObject_ThenReturnsIndexIncreasedWithOne()
+ {
+ int newIndex = objectRegistry.GetId(new object());
+
+ Assert.That(newIndex, Is.EqualTo(index + 1));
+ }
+
+ [Test]
+ public static void WhenGetIdFromSameObject_ThenReturnsIndex()
+ {
+ int newIndex = objectRegistry.GetId(@object);
+
+ Assert.That(newIndex, Is.EqualTo(index));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityInterfaceInputFromEngine.cs
===================================================================
diff -u -r6361 -r6367
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityInterfaceInputFromEngine.cs (.../FillMacroStabilityInterfaceInputFromEngine.cs) (revision 6361)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityInterfaceInputFromEngine.cs (.../FillMacroStabilityInterfaceInputFromEngine.cs) (revision 6367)
@@ -47,38 +47,6 @@
namespace Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.MacroStabilityIo;
-internal class ObjectRegistry
-{
- private readonly ConcurrentDictionary