// Copyright (C) Stichting Deltares 2025. All rights reserved.
//
// This file is part of the application DAM - UI.
//
// DAM - UI is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
//
// All names, logos, and references to "Deltares" are registered trademarks of
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
using System;
using Deltares.Maps;
using NetTopologySuite.Geometries;
using NUnit.Framework;
namespace Deltares.Dam.Tests
{
[TestFixture]
public class GeometryTest
{
private string geomWktTestString;
[Test]
public void CanCreateGeometryFormWkt()
{
var geom = Feature.Create(geomWktTestString);
Assert.That(geom, Is.Not.Null);
Assert.That(geom.WktFormat, Is.EqualTo(geomWktTestString));
}
[Test]
public void CanCreateGeometryFormSharpMapGeom()
{
const string geomWkt = "POINT (0 0)";
var geom = Feature.Create(geomWkt);
Assert.That(geom, Is.Not.Null);
Assert.That(geom.WktFormat, Is.EqualTo(geomWkt));
Assert.That(geom.Geometry, Is.InstanceOf());
}
[Test]
public void GeometryHasAnValidIdentity()
{
const string geomWkt = "POINT (0 0)";
var geom = Feature.Create(geomWkt);
Assert.That(geom, Is.Not.Null);
Assert.That(geom.Id, Is.Not.EqualTo(Guid.Empty));
}
[Test]
public void GeometryCanHoldAttributes()
{
const string geomWkt = "POINT (0 0)";
var geom = Feature.Create(geomWkt);
Assert.That(geom, Is.Not.Null);
const string testvalue = "testvalue";
geom.AddAttribute("test", testvalue);
Assert.That(geom["test"], Is.EqualTo(testvalue));
}
#region Setup
[SetUp]
public void FixtureSetup()
{
geomWktTestString = "POLYGON ((199052.850615396 515952.801579154, 199050.859375 515952.937500002, 199050.948622814 515953.913886349, 199052.850615396 515952.801579154))";
}
[TearDown]
public void FixtureTearDown() {}
[SetUp]
public void TestSetup() {}
[TearDown]
public void TestTearDown() {}
#endregion
}
}