Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/FileImporter/DikeProfilesImporter.cs =================================================================== diff -u -r5bf1ff8f68f3b19d538edfe0550c39fc691a924b -rf04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/FileImporter/DikeProfilesImporter.cs (.../DikeProfilesImporter.cs) (revision 5bf1ff8f68f3b19d538edfe0550c39fc691a924b) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/FileImporter/DikeProfilesImporter.cs (.../DikeProfilesImporter.cs) (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -135,104 +135,80 @@ return true; } - private ObservableList CreateDikeProfiles(ICollection dikeProfileCollection, ICollection dikeProfileDataCollection) + private ReadResult ReadDikeProfileLocations(string filePath, ReferenceLine referenceLine) { - ObservableList dikeProfiles = new ObservableList(); - foreach (DikeProfileLocation dikeProfileLocation in dikeProfileCollection) + NotifyProgress("Inlezen van dijkprofiel locaties uit een shape bestand.", 1, 1); + try { - string dikeProfileId = dikeProfileLocation.Id; - - var matchingDikeProfileData = GetMatchingDikeProfileData(dikeProfileDataCollection, dikeProfileId); - if (matchingDikeProfileData != null) + using (var dikeProfileLocationReader = new DikeProfileLocationReader(filePath)) { - DikeProfile dikeProfile = CreateDikeProfile(dikeProfileLocation, matchingDikeProfileData); - dikeProfiles.Add(dikeProfile); + return GetDikeProfileLocationReadResult(dikeProfileLocationReader, referenceLine); } } - return dikeProfiles; - } - - private DikeProfileData GetMatchingDikeProfileData(ICollection dikeProfileDataCollection, string dikeProfileId) - { - IEnumerable dikeProfileData = dikeProfileDataCollection.Where(d => d.Id.Equals(dikeProfileId)); - DikeProfileData[] filteredDikeProfileDataCollection = dikeProfileData as DikeProfileData[] ?? dikeProfileData.ToArray(); - if (filteredDikeProfileDataCollection.Length == 0) + catch (CriticalFileReadException exception) { - log.Error(string.Format("Kan geen dijkprofiel data vinden voor dijkprofiel locatie met Id: {0}", dikeProfileId)); - return null; + log.Error(exception.Message); } - if (filteredDikeProfileDataCollection.Length > 1) + catch (ArgumentException exception) { - log.Error(string.Format("Meerdere dijkprofiel data gevonden voor dijkprofiel locatie met Id: {0}. De eerste wordt gebruikt, de overigen worden overgeslagen.", dikeProfileId)); + log.Error(exception.Message); } - return filteredDikeProfileDataCollection[0]; + return new ReadResult(true); } - private static DikeProfile CreateDikeProfile(DikeProfileLocation dikeProfileLocation, DikeProfileData dikeProfileData) + private ReadResult GetDikeProfileLocationReadResult(DikeProfileLocationReader dikeProfileLocationReader, ReferenceLine referenceLine) { - var dikeProfile = new DikeProfile(dikeProfileLocation.Point) + var totalNumberOfSteps = dikeProfileLocationReader.GetLocationCount; + var currentStep = 1; + + var dikeProfileLocations = new Collection(); + for (int i = 0; i < totalNumberOfSteps; i++) { - Name = dikeProfileData.Id, - Memo = dikeProfileData.Memo, - X0 = dikeProfileLocation.Offset, - Orientation = (RoundedDouble) dikeProfileData.Orientation, - ForeshoreGeometry = dikeProfileData.ForeshoreGeometry.Select(r => r.Point).ToList(), - DikeGeometry = dikeProfileData.DikeGeometry.ToList(), - DikeHeight = (RoundedDouble) dikeProfileData.DikeHeight + if (ImportIsCancelled) + { + return new ReadResult(false); + } + + try + { + NotifyProgress("Inlezen van dijkprofiel locatie.", currentStep++, totalNumberOfSteps); + AddNextDikeProfileLocation(dikeProfileLocationReader, referenceLine, dikeProfileLocations); + } + catch (CriticalFileReadException exception) + { + log.Error(exception.Message); + return new ReadResult(true); + } + } + return new ReadResult(false) + { + ImportedItems = dikeProfileLocations }; + } - switch (dikeProfileData.DamType) + private void AddNextDikeProfileLocation(DikeProfileLocationReader dikeProfileLocationReader, ReferenceLine referenceLine, Collection dikeProfileLocations) + { + DikeProfileLocation dikeProfileLocation = dikeProfileLocationReader.GetNextDikeProfileLocation(); + double distanceToReferenceLine = GetDistanceToReferenceLine(dikeProfileLocation.Point, referenceLine); + if (distanceToReferenceLine > 1.0) { - case DamType.None: - // Use default value - break; - case DamType.Caisson: - dikeProfile.BreakWater = new BreakWater(BreakWaterType.Caisson, dikeProfileData.DamHeight); - break; - case DamType.HarborDam: - dikeProfile.BreakWater = new BreakWater(BreakWaterType.Dam, dikeProfileData.DamHeight); - break; - case DamType.Vertical: - dikeProfile.BreakWater = new BreakWater(BreakWaterType.Wall, dikeProfileData.DamHeight); - break; - default: - throw new ArgumentOutOfRangeException(); + log.Error("Een dijkprofiel locatie ligt niet op de referentielijn. Locatie wordt overgeslagen."); + return; } - return dikeProfile; + dikeProfileLocations.Add(dikeProfileLocation); } private ReadResult ReadDikeProfileData(string folder) { - NotifyProgress("Inlezen van voorland of dijkprofiel data uit een prfl bestand.", 1, 1); - try - { - var dikeProfileDataReader = new DikeProfileDataReader(); - return GetDikeProfileDataReadResult(dikeProfileDataReader, folder); - } - catch (CriticalFileReadException exception) - { - log.Error(exception.Message); - } - catch (ArgumentException exception) - { - log.Error(exception.Message); - } - return new ReadResult(true); + NotifyProgress("Inlezen van voorland en dijkprofiel data uit een prfl bestand.", 1, 1); + var dikeProfileDataReader = new DikeProfileDataReader(); + return GetDikeProfileDataReadResult(dikeProfileDataReader, folder); } private ReadResult GetDikeProfileDataReadResult(DikeProfileDataReader dikeProfileDataReader, string folder) { - string[] prflFilePaths; - try - { - prflFilePaths = Directory.GetFiles(folder, "*.prfl"); - } - catch (Exception) - { - var message = string.Format("Niet in staat om naar prfl bestanden te zoeken in map: {0}", folder); - log.Error(message); - return new ReadResult(true); - } + // No exception handling for GetFiles, as folder is derived from an existing, read file. + string[] prflFilePaths = Directory.GetFiles(folder, "*.prfl"); var totalNumberOfSteps = prflFilePaths.Length; var currentStep = 1; @@ -249,9 +225,15 @@ try { - NotifyProgress("Inlezen van voorland of dijkprofiel data.", currentStep++, totalNumberOfSteps); + NotifyProgress("Inlezen van voorland en dijkprofiel data.", currentStep++, totalNumberOfSteps); DikeProfileData data = dikeProfileDataReader.ReadDikeProfileData(prflFilePaths[i]); + if (data.ProfileType != ProfileType.Coordinates) + { + log.Error(string.Format("Voorland en dijkprofiel data specificeert een damwand waarde ongelijk aan 0. Bestand wordt overgeslagen: {0}", prflFilePaths[i])); + continue; + } + if (dikeProfileData.Any(d => d.Id.Equals(data.Id))) { if (!duplicates.ContainsKey(data.Id)) @@ -265,6 +247,7 @@ dikeProfileData.Add(data); } } + // No ArgumentException is caught, as prflFilePaths are valid by construction. catch (CriticalFileReadException exception) { log.Error(exception.Message); @@ -297,73 +280,69 @@ } } - private void HandleUserCancellingImport() + private ObservableList CreateDikeProfiles(ICollection dikeProfileLocationCollection, ICollection dikeProfileDataCollection) { - log.Info("Dijkprofielen importeren is afgebroken. Geen data ingelezen."); - ImportIsCancelled = false; - } - - private ReadResult ReadDikeProfileLocations(string filePath, ReferenceLine referenceLine) - { - NotifyProgress("Inlezen van dijkprofiel locaties uit een shape bestand.", 1, 1); - try + ObservableList dikeProfiles = new ObservableList(); + foreach (DikeProfileLocation dikeProfileLocation in dikeProfileLocationCollection) { - using (var dikeProfileLocationReader = new DikeProfileLocationReader(filePath)) + string id = dikeProfileLocation.Id; + + var dikeProfileData = GetMatchingDikeProfileData(dikeProfileDataCollection, id); + if (dikeProfileData != null) { - return GetDikeProfileLocationReadResult(dikeProfileLocationReader, referenceLine); + DikeProfile dikeProfile = CreateDikeProfile(dikeProfileLocation, dikeProfileData); + dikeProfiles.Add(dikeProfile); } } - catch (CriticalFileReadException exception) + return dikeProfiles; + } + + private DikeProfileData GetMatchingDikeProfileData(ICollection dikeProfileDataCollection, string id) + { + DikeProfileData matchingDikeProfileData = dikeProfileDataCollection.FirstOrDefault(d => d.Id.Equals(id)); + if (matchingDikeProfileData == null) { - log.Error(exception.Message); + log.Error(string.Format("Kan geen voorland en dijkprofiel data vinden voor dijkprofiel locatie met Id: {0}", id)); + return null; } - catch (ArgumentException exception) - { - log.Error(exception.Message); - } - return new ReadResult(true); + return matchingDikeProfileData; } - private ReadResult GetDikeProfileLocationReadResult(DikeProfileLocationReader dikeProfileLocationReader, ReferenceLine referenceLine) + private static DikeProfile CreateDikeProfile(DikeProfileLocation dikeProfileLocation, DikeProfileData dikeProfileData) { - var totalNumberOfSteps = dikeProfileLocationReader.GetLocationCount; - var currentStep = 1; - - var dikeProfileLocations = new Collection(); - for (int i = 0; i < totalNumberOfSteps; i++) + var dikeProfile = new DikeProfile(dikeProfileLocation.Point) { - if (ImportIsCancelled) - { - return new ReadResult(false); - } + Name = dikeProfileData.Id, + Memo = dikeProfileData.Memo, + X0 = dikeProfileLocation.Offset, + Orientation = (RoundedDouble) dikeProfileData.Orientation, + ForeshoreGeometry = dikeProfileData.ForeshoreGeometry.Select(r => r.Point).ToList(), + DikeGeometry = dikeProfileData.DikeGeometry.ToList(), + DikeHeight = (RoundedDouble) dikeProfileData.DikeHeight + }; - try - { - NotifyProgress("Inlezen van dijkprofiel locatie.", currentStep++, totalNumberOfSteps); - AddNextDikeProfileLocation(dikeProfileLocationReader, referenceLine, dikeProfileLocations); - } - catch (CriticalFileReadException exception) - { - log.Error(exception.Message); - return new ReadResult(true); - } - } - return new ReadResult(false) + switch (dikeProfileData.DamType) { - ImportedItems = dikeProfileLocations - }; + case DamType.Caisson: + dikeProfile.BreakWater = new BreakWater(BreakWaterType.Caisson, dikeProfileData.DamHeight); + break; + case DamType.HarborDam: + dikeProfile.BreakWater = new BreakWater(BreakWaterType.Dam, dikeProfileData.DamHeight); + break; + case DamType.Vertical: + dikeProfile.BreakWater = new BreakWater(BreakWaterType.Wall, dikeProfileData.DamHeight); + break; + default: + // Invalid values are caught as exceptions from DikeProfileDataReader. + break; + } + return dikeProfile; } - private void AddNextDikeProfileLocation(DikeProfileLocationReader dikeProfileLocationReader, ReferenceLine referenceLine, Collection dikeProfileLocations) + private void HandleUserCancellingImport() { - DikeProfileLocation dikeProfileLocation = dikeProfileLocationReader.GetNextDikeProfileLocation(); - double distanceToReferenceLine = GetDistanceToReferenceLine(dikeProfileLocation.Point, referenceLine); - if (distanceToReferenceLine > 1.0) - { - log.Error("Een dijkprofiel locatie ligt niet op de referentielijn. Locatie wordt overgeslagen."); - return; - } - dikeProfileLocations.Add(dikeProfileLocation); + log.Info("Dijkprofielen importeren is afgebroken. Geen data ingelezen."); + ImportIsCancelled = false; } private static bool IsReferenceLineAvailable(object targetItem) Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/Voorlanden 12-2.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/Voorlanden 12-2.prj =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/Voorlanden 12-2.prj (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/Voorlanden 12-2.prj (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1 @@ +PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]] \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/Voorlanden 12-2.shp =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/Voorlanden 12-2.shx =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel001 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel001 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel001 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,22 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel002 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel002 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel002 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,23 @@ +VERSIE 4.0 +ID profiel002 + +RICHTING 330 + +DAM 1 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +geen dam +geen voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel003 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel003 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel003 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,23 @@ +VERSIE 4.0 +ID profiel003 + +RICHTING 330 + +DAM 3 +DAMHOOGTE 0.5 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +dam: havendam +geen voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel004 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel004 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel004 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,26 @@ +VERSIE 4.0 +ID profiel004 + +RICHTING 330 + +DAM 2 +DAMHOOGTE 0.5 + +VOORLAND 3 +-150.000 -9.000 1.000 +-100.000 -6.000 1.000 +-18.000 -6.000 1.000 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +geen dam +voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel005 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel005 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/AllDamTypes/profiel005 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,26 @@ +VERSIE 4.0 +ID profiel005 + +RICHTING 330 + +DAM 3 +DAMHOOGTE 0.5 + +VOORLAND 3 +-150.000 -9.000 1.000 +-100.000 -6.000 1.000 +-18.000 -6.000 1.000 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +dam: havendam +voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/Voorlanden 12-2.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/Voorlanden 12-2.prj =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/Voorlanden 12-2.prj (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/Voorlanden 12-2.prj (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1 @@ +PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]] \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/Voorlanden 12-2.shp =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/Voorlanden 12-2.shx =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel001 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel001 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel001 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,22 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel002 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel002 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel002 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,23 @@ +VERSIE 4.0 +ID profiel002 + +RICHTING 330 + +DAM 1 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +geen dam +geen voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel003 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel003 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel003 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,23 @@ +VERSIE 4.0 +ID profiel003 + +RICHTING 330 + +DAM 3 +DAMHOOGTE 0.5 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +dam: havendam +geen voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel004 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel004 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel004 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,26 @@ +VERSIE 4.0 +ID profiel004 + +RICHTING 330 + +DAM 2 +DAMHOOGTE 0.5 + +VOORLAND 3 +-150.000 -9.000 1.000 +-100.000 -6.000 1.000 +-18.000 -6.000 1.000 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +geen dam +voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel005 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel005 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/InvalidDamType/profiel005 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,26 @@ +VERSIE 4.0 +ID profiel005 + +RICHTING 330 + +DAM 4 +DAMHOOGTE 0.5 + +VOORLAND 3 +-150.000 -9.000 1.000 +-100.000 -6.000 1.000 +-18.000 -6.000 1.000 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +dam: havendam +voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/Voorlanden_12-2_UnmatchableId.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/Voorlanden_12-2_UnmatchableId.prj =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/Voorlanden_12-2_UnmatchableId.prj (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/Voorlanden_12-2_UnmatchableId.prj (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1 @@ +PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]] \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/Voorlanden_12-2_UnmatchableId.shp =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/Voorlanden_12-2_UnmatchableId.shx =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel001 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel001 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel001 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,22 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel002 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel002 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel002 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,23 @@ +VERSIE 4.0 +ID profiel002 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +geen dam +geen voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel003 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel003 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel003 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,23 @@ +VERSIE 4.0 +ID profiel003 + +RICHTING 330 + +DAM 3 +DAMHOOGTE 0.5 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +dam: havendam +geen voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel004 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel004 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel004 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,26 @@ +VERSIE 4.0 +ID profiel004 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0.5 + +VOORLAND 3 +-150.000 -9.000 1.000 +-100.000 -6.000 1.000 +-18.000 -6.000 1.000 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +geen dam +voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel005 - Ringtoets.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel005 - Ringtoets.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/IpflWithUnmatchableId/profiel005 - Ringtoets.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,26 @@ +VERSIE 4.0 +ID profiel005 + +RICHTING 330 + +DAM 3 +DAMHOOGTE 0.5 + +VOORLAND 3 +-150.000 -9.000 1.000 +-100.000 -6.000 1.000 +-18.000 -6.000 1.000 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 4 +-18.000 -6.000 1.000 +-2.000 -0.100 0.500 +2.000 0.100 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +dam: havendam +voorland +talud met (ruwe) berm Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/Voorland_12-2.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/Voorland_12-2.prj =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/Voorland_12-2.prj (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/Voorland_12-2.prj (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1 @@ +PROJCS["Amersfoort_RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Double_Stereographic"],PARAMETER["latitude_of_origin",52.15616055555555],PARAMETER["central_meridian",5.38763888888889],PARAMETER["scale_factor",0.9999079],PARAMETER["false_easting",155000],PARAMETER["false_northing",463000],UNIT["Meter",1]] \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/Voorland_12-2.qpj =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/Voorland_12-2.qpj (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/Voorland_12-2.qpj (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1 @@ +PROJCS["Amersfoort / RD New",GEOGCS["Amersfoort",DATUM["Amersfoort",SPHEROID["Bessel 1841",6377397.155,299.1528128,AUTHORITY["EPSG","7004"]],TOWGS84[565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725],AUTHORITY["EPSG","6289"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4289"]],PROJECTION["Oblique_Stereographic"],PARAMETER["latitude_of_origin",52.15616055555555],PARAMETER["central_meridian",5.38763888888889],PARAMETER["scale_factor",0.9999079],PARAMETER["false_easting",155000],PARAMETER["false_northing",463000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","28992"]] Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/Voorland_12-2.shp =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/Voorland_12-2.shx =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/faulty_incompleteFile.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/faulty_incompleteFile.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflIsIncomplete/faulty_incompleteFile.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,7 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Damwand1.prj =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Damwand1.prj (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Damwand1.prj (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1 @@ +PROJCS["Amersfoort_RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Double_Stereographic"],PARAMETER["latitude_of_origin",52.15616055555555],PARAMETER["central_meridian",5.38763888888889],PARAMETER["scale_factor",0.9999079],PARAMETER["false_easting",155000],PARAMETER["false_northing",463000],UNIT["Meter",1]] \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Voorland_12-2.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Voorland_12-2.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Voorland_12-2.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Voorland_12-2.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,22 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 1 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Voorland_12-2.qpj =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Voorland_12-2.qpj (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Voorland_12-2.qpj (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1 @@ +PROJCS["Amersfoort / RD New",GEOGCS["Amersfoort",DATUM["Amersfoort",SPHEROID["Bessel 1841",6377397.155,299.1528128,AUTHORITY["EPSG","7004"]],TOWGS84[565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725],AUTHORITY["EPSG","6289"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4289"]],PROJECTION["Oblique_Stereographic"],PARAMETER["latitude_of_origin",52.15616055555555],PARAMETER["central_meridian",5.38763888888889],PARAMETER["scale_factor",0.9999079],PARAMETER["false_easting",155000],PARAMETER["false_northing",463000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","28992"]] Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Voorland_12-2.shp =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/PrflWithProfileNotZero/Voorland_12-2.shx =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001.prj =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001.prj (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001.prj (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1 @@ +PROJCS["Amersfoort_RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Double_Stereographic"],PARAMETER["latitude_of_origin",52.15616055555555],PARAMETER["central_meridian",5.38763888888889],PARAMETER["scale_factor",0.9999079],PARAMETER["false_easting",155000],PARAMETER["false_northing",463000],UNIT["Meter",1]] \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001.qpj =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001.qpj (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001.qpj (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1 @@ +PROJCS["Amersfoort / RD New",GEOGCS["Amersfoort",DATUM["Amersfoort",SPHEROID["Bessel 1841",6377397.155,299.1528128,AUTHORITY["EPSG","7004"]],TOWGS84[565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725],AUTHORITY["EPSG","6289"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4289"]],PROJECTION["Oblique_Stereographic"],PARAMETER["latitude_of_origin",52.15616055555555],PARAMETER["central_meridian",5.38763888888889],PARAMETER["scale_factor",0.9999079],PARAMETER["false_easting",155000],PARAMETER["false_northing",463000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","28992"]] Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001.shp =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001.shx =================================================================== diff -u Binary files differ Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001_1.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001_1.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001_1.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,22 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001_2.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001_2.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/TwoPrflWithSameId/profiel001_2.prfl (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -0,0 +1,22 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/FileImporter/DikeProfilesImporterTest.cs =================================================================== diff -u -r5bf1ff8f68f3b19d538edfe0550c39fc691a924b -rf04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/FileImporter/DikeProfilesImporterTest.cs (.../DikeProfilesImporterTest.cs) (revision 5bf1ff8f68f3b19d538edfe0550c39fc691a924b) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/FileImporter/DikeProfilesImporterTest.cs (.../DikeProfilesImporterTest.cs) (revision f04c62fcd2f4bb365b16331ccb5a4d4cc5cba21b) @@ -75,7 +75,16 @@ DikeProfilesImporter dikeProfilesImporter = new DikeProfilesImporter(); var mocks = new MockRepository(); var assessmentSection = mocks.Stub(); + var referencePoints = new List + { + new Point2D(131223.2,548393.4), + new Point2D(133854.3,545323.1), + new Point2D(135561.0,541920.3), + new Point2D(136432.1,538235.2), + new Point2D(136039.4,533920.2) + }; assessmentSection.ReferenceLine = new ReferenceLine(); + assessmentSection.ReferenceLine.SetGeometry(referencePoints); var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); var targetContext = new DikeProfilesContext(failureMechanism.DikeProfiles, assessmentSection); mocks.ReplayAll(); @@ -89,7 +98,7 @@ } [Test] - public void CanImportOn_ValidContextWithoutReferenceLine_ReturnFalse() + public void CanImportOn_ContextWithoutReferenceLine_ReturnFalse() { // Setup DikeProfilesImporter dikeProfilesImporter = new DikeProfilesImporter(); @@ -351,6 +360,47 @@ } [Test] + public void Import_FromFileWithUnmatchableId_TrueAndLogError() + { + // Setup + DikeProfilesImporter dikeProfilesImporter = new DikeProfilesImporter(); + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, + Path.Combine("DikeProfiles", "IpflWithUnmatchableId", "Voorlanden_12-2_UnmatchableId.shp")); + + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + var assessmentSection = mockRepository.Stub(); + var referencePoints = new List + { + new Point2D(131223.2,548393.4), + new Point2D(133854.3,545323.1), + new Point2D(135561.0,541920.3), + new Point2D(136432.1,538235.2), + new Point2D(136039.4,533920.2) + }; + assessmentSection.ReferenceLine = new ReferenceLine(); + assessmentSection.ReferenceLine.SetGeometry(referencePoints); + mockRepository.ReplayAll(); + + var targetContext = new DikeProfilesContext(failureMechanism.DikeProfiles, assessmentSection); + + //Precondition + var importResult = true; + + // Call + Action call = () => importResult = dikeProfilesImporter.Import(targetContext, filePath); + + // Assert + TestHelper.AssertLogMessages(call, messages => + { + string[] messageArray = messages.ToArray(); + string message = "Kan geen voorland en dijkprofiel data vinden voor dijkprofiel locatie met Id: unmatchable"; + Assert.AreEqual(message, messageArray[0]); + }); + Assert.IsTrue(importResult); + mockRepository.VerifyAll(); + } + + [Test] public void Import_FromFileWithEmptyEntryForX0_FalseAndLogError() { // Setup @@ -383,7 +433,7 @@ } [Test] - public void Import_NoReferenceLine_CancelImportWithErrorMessage() + public void Import_ContextWithoutReferenceLine_FalseAndErrorMessage() { // Setup DikeProfilesImporter dikeProfilesImporter = new DikeProfilesImporter(); @@ -455,7 +505,7 @@ } [Test] - public void Import_ValidTargetAndValidFile_TrueAndLogMessages() + public void Import_OneDikeProfileLocationNotCloseEnoughToReferenceLine_TrueAndLogErrorAndFourDikeProfiles() { // Setup string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, @@ -470,6 +520,51 @@ new Point2D(133854.3,545323.1), new Point2D(135561.0,541920.3), new Point2D(136432.1,538235.2), + new Point2D(146039.4,533920.2) + }; + assessmentSection.ReferenceLine = new ReferenceLine(); + assessmentSection.ReferenceLine.SetGeometry(referencePoints); + mockRepository.ReplayAll(); + + var progressChangeNotifications = new List(); + var dikeProfilesImporter = new DikeProfilesImporter + { + ProgressChanged = (description, step, steps) => { progressChangeNotifications.Add(new ProgressNotification(description, step, steps)); } + }; + + var targetContext = new DikeProfilesContext(failureMechanism.DikeProfiles, assessmentSection); + targetContext.Attach(observer); + + //Precondition + var importResult = true; + + // Call + Action call = () => importResult = dikeProfilesImporter.Import(targetContext, filePath); + + // Assert + string expectedMessage = "Een dijkprofiel locatie ligt niet op de referentielijn. Locatie wordt overgeslagen."; + TestHelper.AssertLogMessageIsGenerated(call, expectedMessage); + Assert.IsTrue(importResult); + Assert.AreEqual(4, targetContext.WrappedData.Count); + mockRepository.VerifyAll(); // 'observer' should not be notified + } + + [Test] + public void Import_AllOkTestData_TrueAndLogMessagesAndFiveDikeProfiles() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, + Path.Combine("DikeProfiles", "AllOkTestData", "Voorlanden 12-2.shp")); + + var observer = mockRepository.StrictMock(); + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + var assessmentSection = mockRepository.Stub(); + var referencePoints = new List + { + new Point2D(131223.2,548393.4), + new Point2D(133854.3,545323.1), + new Point2D(135561.0,541920.3), + new Point2D(136432.1,538235.2), new Point2D(136039.4,533920.2) }; assessmentSection.ReferenceLine = new ReferenceLine(); @@ -498,12 +593,12 @@ new ProgressNotification("Inlezen van dijkprofiel locatie.", 3, 5), new ProgressNotification("Inlezen van dijkprofiel locatie.", 4, 5), new ProgressNotification("Inlezen van dijkprofiel locatie.", 5, 5), - new ProgressNotification("Inlezen van voorland of dijkprofiel data uit een prfl bestand.", 1, 1), - new ProgressNotification("Inlezen van voorland of dijkprofiel data.", 1, 5), - new ProgressNotification("Inlezen van voorland of dijkprofiel data.", 2, 5), - new ProgressNotification("Inlezen van voorland of dijkprofiel data.", 3, 5), - new ProgressNotification("Inlezen van voorland of dijkprofiel data.", 4, 5), - new ProgressNotification("Inlezen van voorland of dijkprofiel data.", 5, 5) + new ProgressNotification("Inlezen van voorland en dijkprofiel data uit een prfl bestand.", 1, 1), + new ProgressNotification("Inlezen van voorland en dijkprofiel data.", 1, 5), + new ProgressNotification("Inlezen van voorland en dijkprofiel data.", 2, 5), + new ProgressNotification("Inlezen van voorland en dijkprofiel data.", 3, 5), + new ProgressNotification("Inlezen van voorland en dijkprofiel data.", 4, 5), + new ProgressNotification("Inlezen van voorland en dijkprofiel data.", 5, 5) }; Assert.AreEqual(expectedProgressMessages.Count, progressChangeNotifications.Count); for (var i = 0; i < expectedProgressMessages.Count; i++) @@ -514,9 +609,318 @@ Assert.AreEqual(notification.CurrentStep, actualNotification.CurrentStep); Assert.AreEqual(notification.TotalSteps, actualNotification.TotalSteps); } + Assert.AreEqual(5, targetContext.WrappedData.Count); mockRepository.VerifyAll(); // 'observer' should not be notified } + [Test] + public void Import_AllDamTypes_TrueAndLogMessagesAndFiveDikeProfiles() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, + Path.Combine("DikeProfiles", "AllDamTypes", "Voorlanden 12-2.shp")); + + var observer = mockRepository.StrictMock(); + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + var assessmentSection = mockRepository.Stub(); + var referencePoints = new List + { + new Point2D(131223.2,548393.4), + new Point2D(133854.3,545323.1), + new Point2D(135561.0,541920.3), + new Point2D(136432.1,538235.2), + new Point2D(136039.4,533920.2) + }; + assessmentSection.ReferenceLine = new ReferenceLine(); + assessmentSection.ReferenceLine.SetGeometry(referencePoints); + mockRepository.ReplayAll(); + + var progressChangeNotifications = new List(); + DikeProfilesImporter dikeProfilesImporter = new DikeProfilesImporter + { + ProgressChanged = (description, step, steps) => { progressChangeNotifications.Add(new ProgressNotification(description, step, steps)); } + }; + + var targetContext = new DikeProfilesContext(failureMechanism.DikeProfiles, assessmentSection); + targetContext.Attach(observer); + + // Call + bool importResult = dikeProfilesImporter.Import(targetContext, filePath); + + // Assert + Assert.IsTrue(importResult); + List expectedProgressMessages = new List + { + new ProgressNotification("Inlezen van dijkprofiel locaties uit een shape bestand.", 1, 1), + new ProgressNotification("Inlezen van dijkprofiel locatie.", 1, 5), + new ProgressNotification("Inlezen van dijkprofiel locatie.", 2, 5), + new ProgressNotification("Inlezen van dijkprofiel locatie.", 3, 5), + new ProgressNotification("Inlezen van dijkprofiel locatie.", 4, 5), + new ProgressNotification("Inlezen van dijkprofiel locatie.", 5, 5), + new ProgressNotification("Inlezen van voorland en dijkprofiel data uit een prfl bestand.", 1, 1), + new ProgressNotification("Inlezen van voorland en dijkprofiel data.", 1, 5), + new ProgressNotification("Inlezen van voorland en dijkprofiel data.", 2, 5), + new ProgressNotification("Inlezen van voorland en dijkprofiel data.", 3, 5), + new ProgressNotification("Inlezen van voorland en dijkprofiel data.", 4, 5), + new ProgressNotification("Inlezen van voorland en dijkprofiel data.", 5, 5) + }; + Assert.AreEqual(expectedProgressMessages.Count, progressChangeNotifications.Count); + for (var i = 0; i < expectedProgressMessages.Count; i++) + { + var notification = expectedProgressMessages[i]; + var actualNotification = progressChangeNotifications[i]; + Assert.AreEqual(notification.Text, actualNotification.Text); + Assert.AreEqual(notification.CurrentStep, actualNotification.CurrentStep); + Assert.AreEqual(notification.TotalSteps, actualNotification.TotalSteps); + } + Assert.AreEqual(5, targetContext.WrappedData.Count); + mockRepository.VerifyAll(); // 'observer' should not be notified + } + + [Test] + public void Import_InvalidDamType_FalseAndLogMessage() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, + Path.Combine("DikeProfiles", "InvalidDamType", "Voorlanden 12-2.shp")); + + var observer = mockRepository.StrictMock(); + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + var assessmentSection = mockRepository.Stub(); + var referencePoints = new List + { + new Point2D(131223.2,548393.4), + new Point2D(133854.3,545323.1), + new Point2D(135561.0,541920.3), + new Point2D(136432.1,538235.2), + new Point2D(136039.4,533920.2) + }; + assessmentSection.ReferenceLine = new ReferenceLine(); + assessmentSection.ReferenceLine.SetGeometry(referencePoints); + mockRepository.ReplayAll(); + + var progressChangeNotifications = new List(); + DikeProfilesImporter dikeProfilesImporter = new DikeProfilesImporter + { + ProgressChanged = (description, step, steps) => { progressChangeNotifications.Add(new ProgressNotification(description, step, steps)); } + }; + + var targetContext = new DikeProfilesContext(failureMechanism.DikeProfiles, assessmentSection); + targetContext.Attach(observer); + + // Precondition + bool importResult = true; + + // Call + Action call = () => importResult = dikeProfilesImporter.Import(targetContext, filePath); + + // Assert + Action> asserts = (messages) => + { + bool found = messages.Any(message => message.EndsWith(": De ingelezen dam-type waarde (4) moet binnen het bereik [0, 3] vallen.")); + Assert.IsTrue(found); + }; + TestHelper.AssertLogMessages(call, asserts); + Assert.IsFalse(importResult); + mockRepository.VerifyAll(); // 'observer' should not be notified + } + + [Test] + public void Import_CancelOfImportToValidTargetWithValidFile_CancelImportAndLog() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, + Path.Combine("DikeProfiles", "AllOkTestData", "Voorlanden 12-2.shp")); + + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + var assessmentSection = mockRepository.Stub(); + var referencePoints = new List + { + new Point2D(131223.2,548393.4), + new Point2D(133854.3,545323.1), + new Point2D(135561.0,541920.3), + new Point2D(136432.1,538235.2), + new Point2D(136039.4,533920.2) + }; + assessmentSection.ReferenceLine = new ReferenceLine(); + assessmentSection.ReferenceLine.SetGeometry(referencePoints); + mockRepository.ReplayAll(); + + DikeProfilesImporter dikeProfilesImporter = new DikeProfilesImporter(); + + var targetContext = new DikeProfilesContext(failureMechanism.DikeProfiles, assessmentSection); + + // Precondition + dikeProfilesImporter.Cancel(); + bool importResult = true; + + // Call + Action call = () => importResult = dikeProfilesImporter.Import(targetContext, filePath); + + // Assert + TestHelper.AssertLogMessageIsGenerated(call, "Dijkprofielen importeren is afgebroken. Geen data ingelezen.", 1); + Assert.IsFalse(importResult); + mockRepository.VerifyAll(); // 'observer' should not be notified + } + + [Test] + public void Import_ReuseOfCancelledImportToValidTargetWithValidFile_TrueAndLogMessagesAndFiveDikeProfiles() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, + Path.Combine("DikeProfiles", "AllOkTestData", "Voorlanden 12-2.shp")); + + DikeProfilesImporter dikeProfilesImporter = new DikeProfilesImporter(); + + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + var assessmentSection = mockRepository.Stub(); + var referencePoints = new List + { + new Point2D(131223.2,548393.4), + new Point2D(133854.3,545323.1), + new Point2D(135561.0,541920.3), + new Point2D(136432.1,538235.2), + new Point2D(136039.4,533920.2) + }; + assessmentSection.ReferenceLine = new ReferenceLine(); + assessmentSection.ReferenceLine.SetGeometry(referencePoints); + mockRepository.ReplayAll(); + + var targetContext = new DikeProfilesContext(failureMechanism.DikeProfiles, assessmentSection); + + dikeProfilesImporter.Cancel(); + bool importResult = dikeProfilesImporter.Import(targetContext, filePath); + Assert.IsFalse(importResult); + + // Call + importResult = dikeProfilesImporter.Import(targetContext, filePath); + + // Assert + Assert.IsTrue(importResult); + Assert.AreEqual(5, targetContext.WrappedData.Count); + mockRepository.VerifyAll(); // 'observer' should not be notified + } + + [Test] + public void Import_TwoPrflWithSameId_TrueAndErrorLog() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, + Path.Combine("DikeProfiles", "TwoPrflWithSameId", "profiel001.shp")); + + DikeProfilesImporter dikeProfilesImporter = new DikeProfilesImporter(); + + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + var assessmentSection = mockRepository.Stub(); + var referencePoints = new List + { + new Point2D(130074.3,543717.4), + new Point2D(130084.3,543727.4) + }; + assessmentSection.ReferenceLine = new ReferenceLine(); + assessmentSection.ReferenceLine.SetGeometry(referencePoints); + mockRepository.ReplayAll(); + + var targetContext = new DikeProfilesContext(failureMechanism.DikeProfiles, assessmentSection); + + // Precondition + bool importResult = true; + + // Call + Action call = () => importResult = dikeProfilesImporter.Import(targetContext, filePath); + + + // Assert + Action> asserts = (messages) => + { + bool found = messages.Any(message => message.StartsWith("Meerdere dijkprofiel data bestanden gevonden met Id profiel001. Alleen de eerste wordt gebruikt. De 1 overgeslagen bestanden zijn:")); + Assert.IsTrue(found); + }; + TestHelper.AssertLogMessages(call, asserts); + Assert.IsTrue(importResult); + mockRepository.VerifyAll(); // 'observer' should not be notified + } + + [Test] + public void Import_PrflWithProfileNotZero_TrueAndErrorLog() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, + Path.Combine("DikeProfiles", "PrflWithProfileNotZero", "Voorland_12-2.shp")); + + DikeProfilesImporter dikeProfilesImporter = new DikeProfilesImporter(); + + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + var assessmentSection = mockRepository.Stub(); + var referencePoints = new List + { + new Point2D(130074.3,543717.4), + new Point2D(130084.3,543727.4) + }; + assessmentSection.ReferenceLine = new ReferenceLine(); + assessmentSection.ReferenceLine.SetGeometry(referencePoints); + mockRepository.ReplayAll(); + + var targetContext = new DikeProfilesContext(failureMechanism.DikeProfiles, assessmentSection); + + // Precondition + bool importResult = true; + + // Call + Action call = () => importResult = dikeProfilesImporter.Import(targetContext, filePath); + + + // Assert + Action> asserts = (messages) => + { + bool found = messages.Any(message => message.StartsWith("Voorland en dijkprofiel data specificeert een damwand waarde ongelijk aan 0. Bestand wordt overgeslagen:")); + Assert.IsTrue(found); + }; + TestHelper.AssertLogMessages(call, asserts); + Assert.IsTrue(importResult); + mockRepository.VerifyAll(); // 'observer' should not be notified + } + + [Test] + public void Import_PrflIsIncomplete_FalseAndErrorLog() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, + Path.Combine("DikeProfiles", "PrflIsIncomplete", "Voorland_12-2.shp")); + + DikeProfilesImporter dikeProfilesImporter = new DikeProfilesImporter(); + + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + var assessmentSection = mockRepository.Stub(); + var referencePoints = new List + { + new Point2D(130074.3,543717.4), + new Point2D(130084.3,543727.4) + }; + assessmentSection.ReferenceLine = new ReferenceLine(); + assessmentSection.ReferenceLine.SetGeometry(referencePoints); + mockRepository.ReplayAll(); + + var targetContext = new DikeProfilesContext(failureMechanism.DikeProfiles, assessmentSection); + + // Precondition + bool importResult = true; + + // Call + Action call = () => importResult = dikeProfilesImporter.Import(targetContext, filePath); + + + // Assert + Action> asserts = (messages) => + { + bool found = messages.First().Contains(": De volgende parameter(s) zijn niet aanwezig in het bestand: VOORLAND, DAMWAND, KRUINHOOGTE, DIJK, MEMO"); + Assert.IsTrue(found); + }; + TestHelper.AssertLogMessages(call, asserts); + Assert.IsFalse(importResult); + mockRepository.VerifyAll(); // 'observer' should not be notified + } + private class ProgressNotification { public ProgressNotification(string description, int currentStep, int totalSteps)