using System; using System.Linq; using NUnit.Framework; namespace Wti.Data.Test { [TestFixture] public class RingtoetsPipingSurfaceLineTest { [Test] public void DefaultConstructor_ExpectedValues() { // Call var surfaceLine = new RingtoetsPipingSurfaceLine(); // Assert Assert.AreEqual(String.Empty, surfaceLine.Name); CollectionAssert.IsEmpty(surfaceLine.Points); Assert.IsNull(surfaceLine.StartingWorldPoint); Assert.IsNull(surfaceLine.EndingWorldPoint); } [Test] public void SetGeometry_EmptyCollection_PointsSetEmptyAndNullStartAndEndWorldPoints() { // Setup var surfaceLine = new RingtoetsPipingSurfaceLine(); var sourceData = Enumerable.Empty(); // Call surfaceLine.SetGeometry(sourceData); // Assert CollectionAssert.IsEmpty(surfaceLine.Points); Assert.IsNull(surfaceLine.StartingWorldPoint); Assert.IsNull(surfaceLine.EndingWorldPoint); } [Test] public void SetGeometry_CollectionOfOnePoint_InitializeStartAndEndWorldPointsToSameInstanceAndInitializePoints() { // Setup var surfaceLine = new RingtoetsPipingSurfaceLine(); var sourceData = new[] { new Point3D { X = 1.1, Y = 2.2, Z = 3.3 } }; // Call surfaceLine.SetGeometry(sourceData); // Assert Assert.AreNotSame(sourceData, surfaceLine.Points); CollectionAssert.AreEqual(sourceData, surfaceLine.Points); Assert.AreSame(sourceData[0], surfaceLine.StartingWorldPoint); Assert.AreSame(sourceData[0], surfaceLine.EndingWorldPoint); } [Test] public void ToString_ReturnName() { // Setup const string niceName = "Nice name"; var surfaceLine = new RingtoetsPipingSurfaceLine { Name = niceName }; // Call var text = surfaceLine.ToString(); // Assert Assert.AreEqual(niceName, text); } } }