using System.IO; using Deltares.Geotechnics.IO.Importers; using Deltares.Standard.Attributes; using Deltares.Standard.Reflection; using NUnit.Framework; namespace Deltares.Geotechnics.IO.Tests { [TestFixture] public class ConePenetrationTestImporterTest { [Test] public void FormatOfCoordinate() { var cpt = new ConePenetrationTest.ConePenetrationTestData(); var propertyInfo = PropertyInfoSupport.GetPropertyInfo(cpt.GetType(), "X"); Assert.AreEqual("F3", propertyInfo.GetFormat()); propertyInfo = PropertyInfoSupport.GetPropertyInfo(cpt.GetType(), "Y"); Assert.AreEqual("F3", propertyInfo.GetFormat()); } [Test] public void WaterLevelFromU2Test() { const string fileNameAndRelativePath = @"TestFiles\DKMP09_000.GEF"; var currentDirectory = Directory.GetCurrentDirectory(); var fullFileName = Path.Combine(currentDirectory, fileNameAndRelativePath); var cpt = ReadGefCptFromFile(fullFileName); Assert.IsTrue(cpt != null, "Test file was not succesfully read."); var waterLevel = cpt.WaterLevel; Assert.AreEqual(waterLevel, cpt.WaterLevelFromU2); Assert.AreEqual(2.35, waterLevel); } [Test] public void WaterLevelFromU2Test2() { const string fileNameAndRelativePath = @"TestFiles\DKMP28_002.GEF"; var currentDirectory = Directory.GetCurrentDirectory(); var fullFileName = Path.Combine(currentDirectory, fileNameAndRelativePath); var cpt = ReadGefCptFromFile(fullFileName); Assert.IsTrue(cpt != null, "Test file was not succesfully read."); var waterLevel = cpt.WaterLevel; Assert.AreEqual(waterLevel, cpt.WaterLevelFromU2); Assert.AreEqual(2.49, waterLevel); } [Test] public void WaterLevelFromU2Test3() { const string fileNameAndRelativePath = @"TestFiles\CPTTestBenchmark_03_DSoilModel.GEF"; var currentDirectory = Directory.GetCurrentDirectory(); var fullFileName = Path.Combine(currentDirectory, fileNameAndRelativePath); var cpt = ReadGefCptFromFile(fullFileName); Assert.IsTrue(cpt != null, "Test file was not succesfully read."); var waterLevel = cpt.WaterLevel; Assert.AreEqual(waterLevel, cpt.WaterLevelFromU2); Assert.AreEqual(-2.0, waterLevel); } [Test] public void WaterLevelTest() { const string fileNameAndRelativePath = @"TestFiles\CPTTestBenchmark_01_DSoilModel.GEF"; var currentDirectory = Directory.GetCurrentDirectory(); var fullFileName = Path.Combine(currentDirectory, fileNameAndRelativePath); var cpt = ReadGefCptFromFile(fullFileName); Assert.IsTrue(cpt != null, "Test file was not succesfully read."); var waterLevel = cpt.WaterLevel; Assert.AreEqual(-1.5, waterLevel); } private ConePenetrationTest.ConePenetrationTestData ReadGefCptFromFile(string fileName) { ConePenetrationTest.ConePenetrationTestData conePenetrationTestData = null; var lcFileName = fileName.ToLower(); if (lcFileName.EndsWith(".gef")) { var gefCptImporter = new GefCptFileImporter(); gefCptImporter.FillFromGefFile(fileName); conePenetrationTestData = gefCptImporter.ConePenetrationTestData; } return conePenetrationTestData; } } }