Index: Riskeer/Common/test/Riskeer.Common.Data.Test/Hydraulics/HydraulicBoundaryDataExtensionsTest.cs =================================================================== diff -u -r9eb4d0e788145fada82e49592a83cf384ebe8770 -r9c9cd5ba7f36cbc076e9964521da952fd25e4b3c --- Riskeer/Common/test/Riskeer.Common.Data.Test/Hydraulics/HydraulicBoundaryDataExtensionsTest.cs (.../HydraulicBoundaryDataExtensionsTest.cs) (revision 9eb4d0e788145fada82e49592a83cf384ebe8770) +++ Riskeer/Common/test/Riskeer.Common.Data.Test/Hydraulics/HydraulicBoundaryDataExtensionsTest.cs (.../HydraulicBoundaryDataExtensionsTest.cs) (revision 9c9cd5ba7f36cbc076e9964521da952fd25e4b3c) @@ -242,5 +242,77 @@ var exception = Assert.Throws(Call); Assert.AreEqual("hydraulicBoundaryLocation", exception.ParamName); } + + [Test] + public void GetHydraulicBoundaryDatabaseForLocation_LocationNotPartOfHydraulicBoundaryData_ThrowsArgumentException() + { + // Setup + var hydraulicBoundaryData = new HydraulicBoundaryData + { + HydraulicBoundaryDatabases = + { + new HydraulicBoundaryDatabase + { + Locations = + { + new TestHydraulicBoundaryLocation() + } + }, + new HydraulicBoundaryDatabase + { + Locations = + { + new TestHydraulicBoundaryLocation() + } + } + } + }; + + // Call + void Call() => hydraulicBoundaryData.GetHydraulicBoundaryDatabaseForLocation(new TestHydraulicBoundaryLocation()); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("'hydraulicBoundaryLocation' is not part of 'hydraulicBoundaryData'.", exception.Message); + } + + [Test] + public void GetHydraulicBoundaryDatabaseForLocation_LocationPartOfHydraulicBoundaryData_ReturnsExpectedHydraulicBoundaryDatabase() + { + // Setup + var hydraulicBoundaryLocation1 = new TestHydraulicBoundaryLocation(); + var hydraulicBoundaryLocation2 = new TestHydraulicBoundaryLocation(); + + var hydraulicBoundaryDatabase1 = new HydraulicBoundaryDatabase + { + Locations = + { + hydraulicBoundaryLocation1 + } + }; + + var hydraulicBoundaryDatabase2 = new HydraulicBoundaryDatabase + { + Locations = + { + hydraulicBoundaryLocation2 + } + }; + + var hydraulicBoundaryData = new HydraulicBoundaryData + { + HydraulicBoundaryDatabases = + { + hydraulicBoundaryDatabase1, + hydraulicBoundaryDatabase2 + } + }; + + // Call + HydraulicBoundaryDatabase result = hydraulicBoundaryData.GetHydraulicBoundaryDatabaseForLocation(hydraulicBoundaryLocation2); + + // Assert + Assert.AreSame(hydraulicBoundaryDatabase2, result); + } } } \ No newline at end of file