Index: DamEngine/trunk/src/Deltares.DamEngine.Io.Tests/DamXmlSerializationTests.cs =================================================================== diff -u -r4052 -r4381 --- DamEngine/trunk/src/Deltares.DamEngine.Io.Tests/DamXmlSerializationTests.cs (.../DamXmlSerializationTests.cs) (revision 4052) +++ DamEngine/trunk/src/Deltares.DamEngine.Io.Tests/DamXmlSerializationTests.cs (.../DamXmlSerializationTests.cs) (revision 4381) @@ -19,6 +19,9 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using System.IO; +using Deltares.DamEngine.Interface; using Deltares.DamEngine.Io.XmlInput; using Deltares.DamEngine.Io.XmlOutput; using KellermanSoftware.CompareNetObjects; @@ -54,7 +57,42 @@ Output destinationOutput = DamXmlSerialization.LoadOutputFromXmlFile(filename); CompareOutput(sourceOutput, destinationOutput); } + + [TestCase(1)] + [TestCase(2)] + public void Run_UsingTestFiles_ButWithUnsupportedPipingModelFails(int oldPipingModel) + { + // testcase 1 = old model PipingModelType.Sellmeijer4Forces + // testcase 2 = old model PipingModelType.SellmeijerVnk + const string calcDir = "TestOperationalGrebbedijk"; + const string localWorkingDir = @".\"; + const string baseTestDirectory = @".\"; + if (Directory.Exists(calcDir)) + { + Directory.Delete(calcDir, true); // delete previous results + } + Directory.CreateDirectory(calcDir); + // Switch to TestFiles directory to check if DamLive can also run from another directory + string oldLocalWorkingDir = Directory.GetCurrentDirectory(); + try + { + Directory.SetCurrentDirectory(localWorkingDir); + // Based on "DamLive\trunk\src\Deltares.DamLive.Tests\TestData\DamLive\Set2\\output.damx", assume 4Forces + string inputFileName = baseTestDirectory + @"\TestFiles\GrebbedijkStability4Forces.xml"; + if (oldPipingModel == 2) + { + inputFileName = baseTestDirectory + @"\TestFiles\GrebbedijkStabilityVNK.xml"; + } + string inputString = File.ReadAllText(inputFileName); + Assert.That(() => new EngineInterface(inputString), + Throws.TypeOf(typeof(NotImplementedException)).With.Message.EqualTo("The method or operation is not implemented.")); + } + finally + { + Directory.SetCurrentDirectory(oldLocalWorkingDir); + } + } private Input CreatePopulatedInput() { var input = new Input();