//----------------------------------------------------------------------- // // Copyright (c) 2011 Deltares. All rights reserved. // // Tom The // tom.the@deltares.nl // 05-04-2011 // Test for importing CSV-files in DataPlugin //----------------------------------------------------------------------- using System.Linq; using Deltares.Dam.Data.DataPlugins.Configuration; using Deltares.Geotechnics; using Deltares.Geotechnics.SurfaceLines; namespace Deltares.Dam.Tests { using NUnit.Framework; using Deltares.Standard; using Deltares.Dam.Data; using Deltares.Dam.Data.DataPlugins; [TestFixture] public class DataPluginDataSourceXmlSerializerTests { private const string cXmlFilename = "datasource.xml"; [TestFixtureSetUp] public void TestFixtureSetup() { } [Test] public void ReadAfterWriteReturnsSameData() { var dataSourceContainerSrc = new DataSourceContainer(); dataSourceContainerSrc.DataSourceList.Add(new DataSource() { DataSourceType = DataSourceType.MSoilBase, DataLocation = "Soilbase.mdb" }); dataSourceContainerSrc.DataSourceList.Add(new DataSource() { DataSourceType = DataSourceType.CsvFiles, DataLocation = @".\CSVFiles\" }); dataSourceContainerSrc.Add(new Data.DataPlugins.Configuration.DataAttribute { AttributeName = "testAttribute", DataSource = "testfile.shp"}); dataSourceContainerSrc.MapSoilProfile2D = @".\Geometries"; dataSourceContainerSrc.SensorConfigurationFilename = @".\SensorData.xls"; dataSourceContainerSrc.DataSourceEsriProjection = @"GDSKFJSDALKFKS"; dataSourceContainerSrc.IsImportAsRelativeProfiles = true; dataSourceContainerSrc.SoilProfileCharacteristicPointReference = CharacteristicPointType.DikeToeAtPolder; DataSourceContainer.Serialize(dataSourceContainerSrc, cXmlFilename); var dataSourceContainerDest = DataSourceContainer.Deserialize(cXmlFilename); Assert.AreEqual(dataSourceContainerSrc.MapSoilProfile2D, dataSourceContainerDest.MapSoilProfile2D); Assert.AreEqual(dataSourceContainerSrc.SensorConfigurationFilename, dataSourceContainerDest.SensorConfigurationFilename); Assert.AreEqual(dataSourceContainerSrc.DataSourceEsriProjection, dataSourceContainerDest.DataSourceEsriProjection); Assert.AreEqual(dataSourceContainerSrc.IsImportAsRelativeProfiles, dataSourceContainerDest.IsImportAsRelativeProfiles); Assert.AreEqual(dataSourceContainerSrc.SoilProfileCharacteristicPointReference, dataSourceContainerDest.SoilProfileCharacteristicPointReference); Assert.AreEqual(dataSourceContainerSrc.DataSourceList.Count, dataSourceContainerDest.DataSourceList.Count); Assert.AreEqual(dataSourceContainerSrc.DataSourceList[1].DataSourceType, dataSourceContainerDest.DataSourceList[1].DataSourceType); Assert.AreEqual(dataSourceContainerSrc.DataSourceList[1].DataLocation, dataSourceContainerDest.DataSourceList[1].DataLocation); Assert.IsNotNull(dataSourceContainerDest.DataAttributes); Assert.IsTrue(dataSourceContainerDest.DataAttributes.Count() == 1); Assert.AreEqual(dataSourceContainerSrc.DataAttributes.ElementAt(0).AttributeName, dataSourceContainerDest.DataAttributes.ElementAt(0).AttributeName); //Assert.AreEqual(dataSourceContainerSrc.DataAttributes.ElementAt(0).DataSource, dataSourceContainerDest.DataAttributes.ElementAt(0).DataSource); } [Test] public void ContainerIsValid_ContainsUnsupportedAttributes_ReturnsFalse() { var container = new DataSourceContainer(); const string attributeName = "testattribute"; container.Add(new Data.DataPlugins.Configuration.DataAttribute() { AttributeName = attributeName }); Assert.IsTrue(DataSourceContainer.Validate(container, new[]{ attributeName }).Count() == 0); } } }