//----------------------------------------------------------------------- // // Copyright (c) 2011 Deltares. All rights reserved. // // Tom The // tom.the@deltares.nl // 23-03-2011 // Tests for DataPluginImporter //----------------------------------------------------------------------- using System.CodeDom.Compiler; using System.Collections.Generic; using System.Linq; using Deltares.Dam.Data; using Deltares.Dam.Data.DataPlugins; using Deltares.Dam.Data.DataPlugins.Configuration; using Deltares.Dam.Data.Properties; using Deltares.Standard.Language; using Deltares.Standard.TestUtils; using NUnit.Framework; namespace Deltares.Dam.Tests { [TestFixture] public class DataPluginImporterTests { const string directoryWithCsvFiles = @"..\..\..\data\Dam\Waterboards\Groot Salland\Binnenwaarts\"; [Test] public void CanDefineDataSources() { var srcDataSources = new List(); var dataPluginImporter = new DataPluginImporter(); srcDataSources.Add(new DataSource { DataSourceType = DataSourceType.CsvFiles, DataLocation = directoryWithCsvFiles }); dataPluginImporter.SetDataSources("", srcDataSources); //var destDataSources = dataPluginImporter.DataSources.ToList(); var destDataSources = dataPluginImporter.DataSources.ToList(); Assert.AreEqual(srcDataSources.Count, destDataSources.Count()); Assert.IsTrue(srcDataSources[0].Equals(destDataSources.FirstOrDefault())); } [Test] [ExpectedException(typeof(DataPluginImporterException))] public void ThrowsExceptionWhenRequestingDataWhenDataSourcesNotDefined() { var dataPluginImporter = new DataPluginImporter(); var info = dataPluginImporter.WaterBoardInfo; Assert.IsNotNull(info); } [Test] [Category(Categories.Slow)] public void CanRetrieveWaterboardInfo() { var srcDataSources = new List { new DataSource { DataSourceType = DataSourceType.CsvFiles, DataLocation = directoryWithCsvFiles } }; var dataPluginImporter = new DataPluginImporter(); dataPluginImporter.SetDataSources("", srcDataSources); dataPluginImporter.ImportDataForDikeRings(null, DamType.Primary, null); var info = dataPluginImporter.WaterBoardInfo; if (LocalizationManager.CurrentLanguage == LanguageType.Dutch) { Assert.AreEqual("Waterschap", info.Name); } else { Assert.AreEqual("WaterBoard", info.Name); } Assert.AreEqual("Waterschap", info.Description); } } }