//-----------------------------------------------------------------------
//
// Copyright (c) 2010 Deltares. All rights reserved.
//
// B.S.T.I.M. The
// tom.the@deltares.nl
// 18-05-2010
// Contains tests for xml file creator for DGSMStabDam.dll
//-----------------------------------------------------------------------
namespace Deltares.Dam.Tests
{
using System.Xml.Linq;
using Deltares.Dam.Data;
using Deltares.Dam.Data.Assemblers;
using NUnit.Framework;
[TestFixture]
public class DamMStabGeometry2DDataAssemblerTest
{
private DAMMStabGeometry2DDataAssembler assembler;
private const double cTolerance = 0.001;
[SetUp]
public void TestSetup()
{
this.assembler = new DAMMStabGeometry2DDataAssembler();
}
[Test]
public void CanReadDAMMStabGeometry2DDataXML()
{
const string testFileName = @"TestData\Geometry2DDataOutput.xml";
XDocument doc = XDocument.Load(testFileName);
Geometry2DData geometry2DData = assembler.CreateOutputObject(doc);
Assert.AreEqual(11, geometry2DData.LayerCount);
var layer = geometry2DData.GetLayer(1);
Assert.AreEqual("Sand", layer.soilName);
Assert.IsNotNull(layer.boundaryLine);
Assert.AreEqual(3, layer.boundaryLine.Points.Count);
Assert.AreEqual(-50.0, layer.boundaryLine.Points[0].X, cTolerance);
Assert.AreEqual(-10.2, layer.boundaryLine.Points[0].Z, cTolerance);
Assert.AreEqual(13.17, layer.boundaryLine.Points[1].X, cTolerance);
Assert.AreEqual(-10.2, layer.boundaryLine.Points[1].Z, cTolerance);
Assert.AreEqual(100.0, layer.boundaryLine.Points[2].X, cTolerance);
Assert.AreEqual(-10.2, layer.boundaryLine.Points[2].Z, cTolerance);
layer = geometry2DData.GetLayer(10);
Assert.AreEqual("Surchage", layer.soilName);
Assert.IsNotNull(layer.boundaryLine);
Assert.AreEqual(19, layer.boundaryLine.Points.Count);
Assert.AreEqual(-50.0, layer.boundaryLine.Points[0].X, cTolerance);
Assert.AreEqual(-5.97, layer.boundaryLine.Points[0].Z, cTolerance);
Assert.AreEqual(100.0, layer.boundaryLine.Points[18].X, cTolerance);
Assert.AreEqual(-0.86, layer.boundaryLine.Points[18].Z, cTolerance);
}
}
}