//-----------------------------------------------------------------------
//
// 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);
}
}
}