// Copyright (C) Stichting Deltares 2016. All rights reserved.
//
// This file is part of Ringtoets.
//
// Ringtoets is free software: you can redistribute it and/or modify
// it under the terms of the GNU 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 General Public License for more details.
//
// You should have received a copy of the GNU 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 Application.Ringtoets.Storage.DbContext;
using Application.Ringtoets.Storage.Read;
using Application.Ringtoets.Storage.TestUtil;
using Core.Common.Base.Geometry;
using NUnit.Framework;
using Ringtoets.GrassCoverErosionInwards.Data;
using Ringtoets.HydraRing.Data;
using Ringtoets.Piping.Data;
using Ringtoets.Piping.KernelWrapper.TestUtil;
using Ringtoets.Piping.Primitives;
namespace Application.Ringtoets.Storage.Test.Read
{
[TestFixture]
public class ReadConversionCollectorTest
{
#region StochasticSoilProfileEntity: Read, Contains, Get
[Test]
public void Contains_WithoutStochasticSoilProfileEntity_ArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Contains((StochasticSoilProfileEntity)null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Contains_StochasticSoilProfileEntityAdded_True()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new StochasticSoilProfileEntity();
collector.Read(entity, new StochasticSoilProfile(1, SoilProfileType.SoilProfile1D, 1));
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsTrue(result);
}
[Test]
public void Contains_NoStochasticSoilProfileEntityAdded_False()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new StochasticSoilProfileEntity();
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsFalse(result);
}
[Test]
public void Contains_OtherStochasticSoilProfileEntityAdded_False()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new StochasticSoilProfileEntity();
collector.Read(new StochasticSoilProfileEntity(), new StochasticSoilProfile(0.4, SoilProfileType.SoilProfile2D, 2));
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsFalse(result);
}
[Test]
public void Get_WithoutStochasticSoilProfileEntity_ThrowArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Get((StochasticSoilProfileEntity)null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Get_StochasticSoilProfileEntityAdded_ReturnsReadStochasticSoilProfile()
{
// Setup
var collector = new ReadConversionCollector();
var profile = new StochasticSoilProfile(0.5, SoilProfileType.SoilProfile2D, 2);
var entity = new StochasticSoilProfileEntity();
collector.Read(entity, profile);
// Call
StochasticSoilProfile result = collector.Get(entity);
// Assert
Assert.AreSame(profile, result);
}
[Test]
public void Get_NoStochasticSoilProfileEntityAdded_ThrowsInvalidOperationException()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new StochasticSoilProfileEntity();
// Call
TestDelegate test = () => collector.Get(entity);
// Assert
Assert.Throws(test);
}
[Test]
public void Get_OtherStochasticSoilProfileEntityAdded_ThrowsInvalidOperationException()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new StochasticSoilProfileEntity();
collector.Read(new StochasticSoilProfileEntity(), new StochasticSoilProfile(0.7, SoilProfileType.SoilProfile1D, 6));
// Call
TestDelegate test = () => collector.Get(entity);
// Assert
Assert.Throws(test);
}
[Test]
public void Read_WithNullStochasticSoilProfileEntity_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(null, new StochasticSoilProfile(0.7, SoilProfileType.SoilProfile1D, 6));
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Read_WithNullStochasticSoilProfile_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(new StochasticSoilProfileEntity(), null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("model", paramName);
}
#endregion
#region SoilProfileEntity: Read, Contains, Get
[Test]
public void Contains_WithoutEntity_ArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Contains((SoilProfileEntity)null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Contains_SoilProfileAdded_True()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new SoilProfileEntity();
collector.Read(entity, new TestPipingSoilProfile());
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsTrue(result);
}
[Test]
public void Contains_NoSoilProfileAdded_False()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new SoilProfileEntity();
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsFalse(result);
}
[Test]
public void Contains_OtherSoilProfileEntityAdded_False()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new SoilProfileEntity();
collector.Read(new SoilProfileEntity(), new TestPipingSoilProfile());
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsFalse(result);
}
[Test]
public void Get_WithoutSoilProfileEntity_ThrowArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Get((SoilProfileEntity)null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Get_SoilProfileAdded_ReturnsEntity()
{
// Setup
var collector = new ReadConversionCollector();
var profile = new TestPipingSoilProfile();
var entity = new SoilProfileEntity();
collector.Read(entity, profile);
// Call
var result = collector.Get(entity);
// Assert
Assert.AreSame(profile, result);
}
[Test]
public void Get_NoSoilProfileAdded_ThrowsInvalidOperationException()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new SoilProfileEntity();
// Call
TestDelegate test = () => collector.Get(entity);
// Assert
Assert.Throws(test);
}
[Test]
public void Get_OtherSoilProfileAdded_ThrowsInvalidOperationException()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new SoilProfileEntity();
collector.Read(new SoilProfileEntity(), new TestPipingSoilProfile());
// Call
TestDelegate test = () => collector.Get(entity);
// Assert
Assert.Throws(test);
}
[Test]
public void Read_WithNullSoilProfileEntity_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(null, new TestPipingSoilProfile());
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Read_WithNullProfileEntity_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(new SoilProfileEntity(), null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("model", paramName);
}
#endregion
#region SurfaceLineEntity: Read, Contains, Get
[Test]
public void Contains_SurfaceLineEntityIsNull_ThrowArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate call = () => collector.Contains((SurfaceLineEntity)null);
// Assert
string paramName = Assert.Throws(call).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Contains_SurfaceLineEntityAdded_True()
{
// Setup
var entity = new SurfaceLineEntity();
var model = new RingtoetsPipingSurfaceLine();
var collector = new ReadConversionCollector();
collector.Read(entity, model);
// Call
var hasEntity = collector.Contains(entity);
// Assert
Assert.IsTrue(hasEntity);
}
[Test]
public void Contains_SurfaceLineEntityNotAdded_False()
{
// Setup
var entity = new SurfaceLineEntity();
var collector = new ReadConversionCollector();
// Call
var hasEntity = collector.Contains(entity);
// Assert
Assert.IsFalse(hasEntity);
}
[Test]
public void Contains_OtherSurfaceLineEntityAdded_False()
{
// Setup
var registeredEntity = new SurfaceLineEntity();
var model = new RingtoetsPipingSurfaceLine();
var collector = new ReadConversionCollector();
collector.Read(registeredEntity, model);
var unregisteredEntity = new SurfaceLineEntity();
// Call
var hasEntity = collector.Contains(unregisteredEntity);
// Assert
Assert.IsFalse(hasEntity);
}
[Test]
public void Get_SurfaceLineEntityIsNull_ThrowArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate call = () => collector.Get((SurfaceLineEntity)null);
// Assert
string paramName = Assert.Throws(call).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Get_SurfaceLineEntityAdded_ReturnsRingtoetsPipingSurfaceLine()
{
// Setup
var entity = new SurfaceLineEntity();
var model = new RingtoetsPipingSurfaceLine();
var collector = new ReadConversionCollector();
collector.Read(entity, model);
// Call
RingtoetsPipingSurfaceLine retrievedGeometryPoint = collector.Get(entity);
// Assert
Assert.AreSame(model, retrievedGeometryPoint);
}
[Test]
public void Get_SurfaceLineEntityNotAdded_ThrowInvalidOperationException()
{
// Setup
var entity = new SurfaceLineEntity();
var collector = new ReadConversionCollector();
// Call
TestDelegate call = () => collector.Get(entity);
// Assert
Assert.Throws(call);
}
[Test]
public void Get_DifferentSurfaceLineEntityAdded_ThrowsInvalidOperationException()
{
// Setup
var registeredEntity = new SurfaceLineEntity();
var model = new RingtoetsPipingSurfaceLine();
var collector = new ReadConversionCollector();
collector.Read(registeredEntity, model);
var unregisteredEntity = new SurfaceLineEntity();
// Call
TestDelegate call = () => collector.Get(unregisteredEntity);
// Assert
Assert.Throws(call);
}
[Test]
public void Read_SurfaceLineEntityIsNull_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(null, new RingtoetsPipingSurfaceLine());
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Read_RingtoetsPipingSurfaceLineIsNull_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(new SurfaceLineEntity(), null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("model", paramName);
}
#endregion
#region SurfaceLinePointEntity: Read, Contains, Get
[Test]
public void Contains_SurfaceLinePointsEntityIsNull_ThrowArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate call = () => collector.Contains((SurfaceLinePointEntity)null);
// Assert
string paramName = Assert.Throws(call).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Contains_SurfaceLinePointEntityAdded_True()
{
// Setup
var entity = new SurfaceLinePointEntity();
var model = new Point3D(1.1, 2.2, 3.3);
var collector = new ReadConversionCollector();
collector.Read(entity, model);
// Call
var hasEntity = collector.Contains(entity);
// Assert
Assert.IsTrue(hasEntity);
}
[Test]
public void Contains_SurfaceLinePointEntityNotAdded_False()
{
// Setup
var entity = new SurfaceLinePointEntity();
var collector = new ReadConversionCollector();
// Call
var hasEntity = collector.Contains(entity);
// Assert
Assert.IsFalse(hasEntity);
}
[Test]
public void Contains_OtherSurfaceLinePointEntityAdded_False()
{
// Setup
var registeredEntity = new SurfaceLinePointEntity();
var model = new Point3D(1.1, 2.2, 3.3);
var collector = new ReadConversionCollector();
collector.Read(registeredEntity, model);
var unregisteredEntity = new SurfaceLinePointEntity();
// Call
var hasEntity = collector.Contains(unregisteredEntity);
// Assert
Assert.IsFalse(hasEntity);
}
[Test]
public void Get_SurfaceLinePointEntityIsNull_ThrowArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate call = () => collector.Get((SurfaceLinePointEntity)null);
// Assert
string paramName = Assert.Throws(call).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Get_SurfaceLinePointEntityAdded_ReturnsPoint3D()
{
// Setup
var entity = new SurfaceLinePointEntity();
var model = new Point3D(1.1, 2.2, 3.3);
var collector = new ReadConversionCollector();
collector.Read(entity, model);
// Call
Point3D retrievedGeometryPoint = collector.Get(entity);
// Assert
Assert.AreSame(model, retrievedGeometryPoint);
}
[Test]
public void Get_SurfaceLinePointEntityNotAdded_ThrowInvalidOperationException()
{
// Setup
var entity = new SurfaceLinePointEntity();
var collector = new ReadConversionCollector();
// Call
TestDelegate call = () => collector.Get(entity);
// Assert
Assert.Throws(call);
}
[Test]
public void Get_DifferentSurfaceLinePointEntityAdded_ThrowsInvalidOperationException()
{
// Setup
var registeredEntity = new SurfaceLinePointEntity();
var model = new Point3D(1.1, 2.2, 3.3);
var collector = new ReadConversionCollector();
collector.Read(registeredEntity, model);
var unregisteredEntity = new SurfaceLinePointEntity();
// Call
TestDelegate call = () => collector.Get(unregisteredEntity);
// Assert
Assert.Throws(call);
}
[Test]
public void Read_SurfaceLinePointEntityIsNull_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(null, new Point3D(2.3, 4.4, 5.5));
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Read_Point3DIsNull_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(new SurfaceLinePointEntity(), null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("model", paramName);
}
#endregion
#region HydraulicLocationEntity: Read, Contains, Get
[Test]
public void Contains_WithoutHydraulicLocationEntity_ArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Contains((HydraulicLocationEntity)null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Contains_HydraulicLocationEntityAdded_True()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new HydraulicLocationEntity();
collector.Read(entity, new HydraulicBoundaryLocation(1, "A", 1, 2));
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsTrue(result);
}
[Test]
public void Contains_NoHydraulicLocationEntityAdded_False()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new HydraulicLocationEntity();
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsFalse(result);
}
[Test]
public void Contains_OtherHydraulicLocationEntityAdded_False()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new HydraulicLocationEntity();
collector.Read(new HydraulicLocationEntity(), new HydraulicBoundaryLocation(1, "A", 2, 3));
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsFalse(result);
}
[Test]
public void Get_WithoutHydraulicLocationEntity_ThrowArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Get((HydraulicLocationEntity)null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Get_HydraulicLocationEntityAdded_ReturnsHydraulicBoundaryLocation()
{
// Setup
var collector = new ReadConversionCollector();
var profile = new HydraulicBoundaryLocation(1, "A", 1, 1);
var entity = new HydraulicLocationEntity();
collector.Read(entity, profile);
// Call
var result = collector.Get(entity);
// Assert
Assert.AreSame(profile, result);
}
[Test]
public void Get_NoHydraulicLocationEntityAdded_ThrowsInvalidOperationException()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new HydraulicLocationEntity();
// Call
TestDelegate test = () => collector.Get(entity);
// Assert
Assert.Throws(test);
}
[Test]
public void Get_OtherHydraulicLocationEntityAdded_ThrowsInvalidOperationException()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new HydraulicLocationEntity();
collector.Read(new HydraulicLocationEntity(), new HydraulicBoundaryLocation(1,"A", 1, 1));
// Call
TestDelegate test = () => collector.Get(entity);
// Assert
Assert.Throws(test);
}
[Test]
public void Read_WithNullHydraulicLocationEntity_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(null, new HydraulicBoundaryLocation(1, "A", 1, 1));
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Read_WithNullHydraulicBoundaryLocation_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(new HydraulicLocationEntity(), null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("model", paramName);
}
#endregion
#region FailureMechanismSectionEntity: Read, Contains, Get
[Test]
public void Contains_WithoutFailureMechanismSectionEntity_ArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Contains((FailureMechanismSectionEntity)null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Contains_FailureMechanismSectionEntityAdded_True()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new FailureMechanismSectionEntity();
collector.Read(entity, new TestFailureMechanismSection());
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsTrue(result);
}
[Test]
public void Contains_NoFailureMechanismSectionEntityAdded_False()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new FailureMechanismSectionEntity();
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsFalse(result);
}
[Test]
public void Contains_OtherFailureMechanismSectionEntityAdded_False()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new FailureMechanismSectionEntity();
collector.Read(new FailureMechanismSectionEntity(), new TestFailureMechanismSection());
// Call
var result = collector.Contains(entity);
// Assert
Assert.IsFalse(result);
}
[Test]
public void Get_WithoutFailureMechanismSectionEntity_ThrowArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Get((FailureMechanismSectionEntity)null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Get_FailureMechanismSectionEntityAdded_ReturnsHydraulicBoundaryLocation()
{
// Setup
var collector = new ReadConversionCollector();
var section = new TestFailureMechanismSection();
var entity = new FailureMechanismSectionEntity();
collector.Read(entity, section);
// Call
var result = collector.Get(entity);
// Assert
Assert.AreSame(section, result);
}
[Test]
public void Get_NoFailureMechanismSectionEntityAdded_ThrowsInvalidOperationException()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new FailureMechanismSectionEntity();
// Call
TestDelegate test = () => collector.Get(entity);
// Assert
Assert.Throws(test);
}
[Test]
public void Get_OtherFailureMechanismSectionEntityAdded_ThrowsInvalidOperationException()
{
// Setup
var collector = new ReadConversionCollector();
var entity = new FailureMechanismSectionEntity();
collector.Read(new FailureMechanismSectionEntity(), new TestFailureMechanismSection());
// Call
TestDelegate test = () => collector.Get(entity);
// Assert
Assert.Throws(test);
}
[Test]
public void Read_WithNullFailureMechanismSectionEntity_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(null, new TestFailureMechanismSection());
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("entity", paramName);
}
[Test]
public void Read_WithNullFailureMechanismSection_ThrowsArgumentNullException()
{
// Setup
var collector = new ReadConversionCollector();
// Call
TestDelegate test = () => collector.Read(new FailureMechanismSectionEntity(), null);
// Assert
var paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("model", paramName);
}
#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
}
}