Index: DamClients/DamUI/trunk/src/Dam/Tests/DataPluginImporterDataShapeFilesTests.cs =================================================================== diff -u -r2199 -r2290 --- DamClients/DamUI/trunk/src/Dam/Tests/DataPluginImporterDataShapeFilesTests.cs (.../DataPluginImporterDataShapeFilesTests.cs) (revision 2199) +++ DamClients/DamUI/trunk/src/Dam/Tests/DataPluginImporterDataShapeFilesTests.cs (.../DataPluginImporterDataShapeFilesTests.cs) (revision 2290) @@ -34,15 +34,23 @@ [TestFixture] public class DataPluginImporterDataShapeFileTests { + //Project Groot Salland does NOT use a cross section shapefile. + //The values in the data shapefiles are found by coordinates of the locations that are defined in the locations.csv const string DirectoryWithCsvFiles = @"..\..\..\data\Dam\Waterboards\Groot Salland\Binnenwaarts\"; const string DirectoryWithDataShapeFiles = @"..\..\..\data\Dam\Waterboards\Groot Salland\Binnenwaarts\GWS\gis-customdata\ShapeFiles\"; private const string Location275Id = "dwp27_5"; private const string Location475Id = "dwp47_5"; + + //Project HHNK_WILMEBREEK does use a cross section shapefile + const string HHNK_WILMEBREEKDirectoryWithCsvFiles = @"..\..\..\data\DamEngineTestProjects\HHNK_WILMEBREEK\CSV Bestanden\"; + const string HHNK_WILMEBREEKDirectoryWithDataShapeFiles = @"..\..\..\data\DamEngineTestProjects\HHNK_WILMEBREEK\Shapes\"; + private const string Location1Id = "WILM_1"; + private const string Location22Id = "WILM_22"; + List srcDataSources; DataPluginImporter dataPluginImporter; - [TestFixtureSetUp] - public void TestFixtureSetup() + private void SetupGrootSalland() { srcDataSources = new List { @@ -83,9 +91,58 @@ } + private void SetupHHNK_WILMEBREEK() + { + srcDataSources = new List + { + new DataSource + { + DataSourceType = DataSourceType.CsvFiles, + DataLocation = HHNK_WILMEBREEKDirectoryWithCsvFiles + }, + new DataSource + { + DataSourceType = DataSourceType.DataShapeFiles, + DataLocation = HHNK_WILMEBREEKDirectoryWithDataShapeFiles + } + }; + dataPluginImporter = new DataPluginImporter + { + Attributes = new[] + { + new DataAttribute + { + AttributeId = LocationShapeFileAttributeMap.LocationAttributeId, + AttributeName = "LocationID", + DataSource = "Locations2.shp" + }, + new DataAttribute + { + AttributeId = LocationShapeFileAttributeMap.DikeRingAttributeId, + AttributeName = "DikeringID", + DataSource = "Locations2.shp" + }, + new DataAttribute + { + AttributeId = LocationShapeFileAttributeMap.CrossSectionAttributId, + AttributeName = "LocationID", + DataSource = "Crosssections.shp" + }, + new DataAttribute + { + AttributeId = LocationShapeFileAttributeMap.TL_DegreeOfConsolidationAttributeId, + AttributeName = "TL_DegOfCo", + DataSource = "TrafficLoad.shp" + } + } + }; + dataPluginImporter.SetDataSources("", srcDataSources); + } + [Test] public void CanRetrieveTrafficLoadFromDataShapeFile() { + SetupGrootSalland(); string dikeRingId = dataPluginImporter.GetDikeRingIdList().FirstOrDefault(); dataPluginImporter.ImportDataForDikeRings(new List { dikeRingId }, null); @@ -99,6 +156,7 @@ [Test] public void CanRetrieveDegreeOfConsolidationFromDataShapeFile() { + SetupGrootSalland(); string dikeRingId = dataPluginImporter.GetDikeRingIdList().FirstOrDefault(); dataPluginImporter.ImportDataForDikeRings(new List { dikeRingId }, null); @@ -109,6 +167,23 @@ Assert.AreEqual("0.123", nameValueParameters.FirstOrDefault(x => x.ParameterName.Equals("TL_DegreeOfConsolidation")).ParameterValue); } + [Test] + public void CanRetrieveDegreeOfConsolidationFromDataShapeFileInCombinationWithCrossSectionShapeFile() + { + SetupHHNK_WILMEBREEK(); + string dikeRingId = dataPluginImporter.GetDikeRingIdList().FirstOrDefault(); + dataPluginImporter.ImportDataForDikeRings(new List { dikeRingId }, null); + + IEnumerable locationDetails = dataPluginImporter.GetLocationDetails(dikeRingId, Location1Id); + var nameValueParameters = locationDetails as NameValueParameter[] ?? locationDetails.ToArray(); + Assert.IsTrue(nameValueParameters.Count() > 0); + Assert.AreEqual("0.33", nameValueParameters.FirstOrDefault(x => x.ParameterName.Equals("TL_DegreeOfConsolidation")).ParameterValue); + + locationDetails = dataPluginImporter.GetLocationDetails(dikeRingId, Location22Id); + Assert.AreEqual("0.55", locationDetails.First( + x => x.ParameterName.Equals("TL_DegreeOfConsolidation")).ParameterValue); + } + /*[Test] public void Import_NoCoverageFoundForPoint_ImporterContinuesAndErrorsAreRetrievable() { @@ -120,10 +195,12 @@ Assert.IsTrue(errors.Contains()); } */ + [Test] [Category(Categories.Slow)] public void CanRetrievePenetrationLengthFromDataShapeFile() { + SetupGrootSalland(); string dikeRingId = dataPluginImporter.GetDikeRingIdList().FirstOrDefault(); dataPluginImporter.ImportDataForDikeRings(new List { dikeRingId }, null);