Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs =================================================================== diff -u -r425a1030cf1f383e0a8f5cbd712c52c5cc2d3369 -r393f18543bc78061b83f61fce09ca094d8fb1a05 --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs (.../RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs) (revision 425a1030cf1f383e0a8f5cbd712c52c5cc2d3369) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs (.../RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs) (revision 393f18543bc78061b83f61fce09ca094d8fb1a05) @@ -249,5 +249,37 @@ targetSurfaceLine }, affectedObjects); } + + [Test] + public void UpdateSurfaceLinesWithImportedData_ImportedDataContainsDuplicateNames_ThrowsUpdateException() + { + // Setup + const string duplicateName = "Duplicate name it is"; + RingtoetsPipingSurfaceLine[] importedSurfaceLines = + { + new RingtoetsPipingSurfaceLine + { + Name = duplicateName + }, + new RingtoetsPipingSurfaceLine + { + Name = duplicateName + } + }; + + var failureMechanism = new PipingFailureMechanism(); + var strategy = new RingtoetsPipingSurfaceLineReplaceDataStrategy(failureMechanism); + + // Call + TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, + importedSurfaceLines, + sourceFilePath); + + // Assert + var exception = Assert.Throws(call); + string expectedMessage = $"Profielschematisaties moeten een unieke naam hebben. Gevonden dubbele namen: {duplicateName}."; + Assert.AreEqual(expectedMessage, exception.Message); + Assert.IsInstanceOf(exception.InnerException); + } } } \ No newline at end of file