Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ReadConversionCollectorTest.cs =================================================================== diff -u -re42bdf3dd379c46bab9212eb7b30f4754c9bc91c -r9ee8f17742a5407fd9453aeb12f20cfedb20c73e --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ReadConversionCollectorTest.cs (.../ReadConversionCollectorTest.cs) (revision e42bdf3dd379c46bab9212eb7b30f4754c9bc91c) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ReadConversionCollectorTest.cs (.../ReadConversionCollectorTest.cs) (revision 9ee8f17742a5407fd9453aeb12f20cfedb20c73e) @@ -25,6 +25,8 @@ using Application.Ringtoets.Storage.TestUtil; using Core.Common.Base.Geometry; using NUnit.Framework; +using Ringtoets.ClosingStructures.Data; +using Ringtoets.ClosingStructures.Data.TestUtil; using Ringtoets.Common.Data.DikeProfiles; using Ringtoets.GrassCoverErosionInwards.Data; using Ringtoets.HeightStructures.Data; @@ -1547,5 +1549,154 @@ } #endregion + + #region ClosingStructureEntity: Read, Contains, Get + + [Test] + public void Contains_WithoutClosingStructureEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new ReadConversionCollector(); + + // Call + TestDelegate test = () => collector.Contains((ClosingStructureEntity)null); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Contains_ClosingStructureEntityAdded_ReturnsTrue() + { + // Setup + var collector = new ReadConversionCollector(); + var entity = new ClosingStructureEntity(); + collector.Read(entity, new TestClosingStructure()); + + // Call + var result = collector.Contains(entity); + + // Assert + Assert.IsTrue(result); + } + + [Test] + public void Contains_NoClosingStructureEntityAdded_ReturnsFalse() + { + // Setup + var collector = new ReadConversionCollector(); + var entity = new ClosingStructureEntity(); + + // Call + var result = collector.Contains(entity); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void Contains_OtherClosingStructureEntityAdded_ReturnsFalse() + { + // Setup + var collector = new ReadConversionCollector(); + var entity = new ClosingStructureEntity(); + collector.Read(new ClosingStructureEntity(), new TestClosingStructure()); + + // Call + var result = collector.Contains(entity); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void Get_WithoutClosingStructureEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new ReadConversionCollector(); + + // Call + TestDelegate test = () => collector.Get((ClosingStructureEntity)null); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Get_ClosingStructureEntityAdded_ReturnsHeightStructure() + { + // Setup + var collector = new ReadConversionCollector(); + ClosingStructure structure = new TestClosingStructure(); + var entity = new ClosingStructureEntity(); + collector.Read(entity, structure); + + // Call + var result = collector.Get(entity); + + // Assert + Assert.AreSame(structure, result); + } + + [Test] + public void Get_NoClosingStructureEntityAdded_ThrowsInvalidOperationException() + { + // Setup + var collector = new ReadConversionCollector(); + var entity = new ClosingStructureEntity(); + + // Call + TestDelegate test = () => collector.Get(entity); + + // Assert + Assert.Throws(test); + } + + [Test] + public void Get_OtherClosingStructureEntityAdded_ThrowsInvalidOperationException() + { + // Setup + var collector = new ReadConversionCollector(); + var entity = new ClosingStructureEntity(); + collector.Read(new ClosingStructureEntity(), new TestClosingStructure()); + + // Call + TestDelegate test = () => collector.Get(entity); + + // Assert + Assert.Throws(test); + } + + [Test] + public void Read_WithNullClosingStructureEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new ReadConversionCollector(); + + // Call + TestDelegate test = () => collector.Read(null, new TestClosingStructure()); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Read_WithNullClosingStructureForClosingStructureEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new ReadConversionCollector(); + + // Call + TestDelegate test = () => collector.Read(new ClosingStructureEntity(), null); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + #endregion } } \ No newline at end of file