Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ReadConversionCollectorTest.cs =================================================================== diff -u -re0ef393f7069a18d7e160aceaf91f603dfc8c5ae -rbc7cd9cbf90d04580e6b3542c56edc590867c43a --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ReadConversionCollectorTest.cs (.../ReadConversionCollectorTest.cs) (revision e0ef393f7069a18d7e160aceaf91f603dfc8c5ae) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ReadConversionCollectorTest.cs (.../ReadConversionCollectorTest.cs) (revision bc7cd9cbf90d04580e6b3542c56edc590867c43a) @@ -28,6 +28,7 @@ using NUnit.Framework; +using Ringtoets.GrassCoverErosionInwards.Data; using Ringtoets.HydraRing.Data; using Ringtoets.Piping.Data; using Ringtoets.Piping.KernelWrapper.TestUtil; @@ -957,5 +958,160 @@ } #endregion + + #region FailureMechanismSectionEntity: Read, Contains, Get + + [Test] + public void Contains_WithoutDikeProfileEntity_ArgumentNullException() + { + // Setup + var collector = new ReadConversionCollector(); + + // Call + TestDelegate test = () => collector.Contains((DikeProfileEntity)null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Contains_DikeProfileEntityAdded_True() + { + // Setup + var collector = new ReadConversionCollector(); + var entity = new DikeProfileEntity(); + collector.Read(entity, CreateDikeProfile()); + + // Call + var result = collector.Contains(entity); + + // Assert + Assert.IsTrue(result); + } + + [Test] + public void Contains_NoDikeProfileEntityAdded_False() + { + // Setup + var collector = new ReadConversionCollector(); + var entity = new DikeProfileEntity(); + + // Call + var result = collector.Contains(entity); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void Contains_OtherDikeProfileEntityAdded_False() + { + // Setup + var collector = new ReadConversionCollector(); + var entity = new DikeProfileEntity(); + collector.Read(new DikeProfileEntity(), CreateDikeProfile()); + + // Call + var result = collector.Contains(entity); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void Get_WithoutDikeProfileEntity_ThrowArgumentNullException() + { + // Setup + var collector = new ReadConversionCollector(); + + // Call + TestDelegate test = () => collector.Get((DikeProfileEntity)null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Get_DikeProfileEntityAdded_ReturnsHydraulicBoundaryLocation() + { + // Setup + var collector = new ReadConversionCollector(); + DikeProfile dikeProfile = CreateDikeProfile(); + var entity = new DikeProfileEntity(); + collector.Read(entity, dikeProfile); + + // Call + var result = collector.Get(entity); + + // Assert + Assert.AreSame(dikeProfile, result); + } + + private static DikeProfile CreateDikeProfile() + { + return new DikeProfile(new Point2D(0,0), new RoughnessPoint[0], new Point2D[0], + null, new DikeProfile.ConstructionProperties()); + } + + [Test] + public void Get_NoDikeProfileEntityAdded_ThrowsInvalidOperationException() + { + // Setup + var collector = new ReadConversionCollector(); + var entity = new DikeProfileEntity(); + + // Call + TestDelegate test = () => collector.Get(entity); + + // Assert + Assert.Throws(test); + } + + [Test] + public void Get_OtherDikeProfileEntityAdded_ThrowsInvalidOperationException() + { + // Setup + var collector = new ReadConversionCollector(); + var entity = new DikeProfileEntity(); + collector.Read(new DikeProfileEntity(), CreateDikeProfile()); + + // Call + TestDelegate test = () => collector.Get(entity); + + // Assert + Assert.Throws(test); + } + + [Test] + public void Read_WithNullDikeProfileEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new ReadConversionCollector(); + + // Call + TestDelegate test = () => collector.Read(null, CreateDikeProfile()); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Read_WithNullDikeProfile_ThrowsArgumentNullException() + { + // Setup + var collector = new ReadConversionCollector(); + + // Call + TestDelegate test = () => collector.Read(new DikeProfileEntity(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + #endregion } } \ No newline at end of file