NavisworksTransport/UnitTests/Core/CornerTurnCheckHelperTests.cs

75 lines
2.4 KiB
C#

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NavisworksTransport.Utils;
namespace NavisworksTransport.UnitTests.Core
{
[TestClass]
public class CornerTurnCheckHelperTests
{
[TestMethod]
public void LongEnoughForCorner_ShouldPass()
{
Assert.IsTrue(CornerTurnCheckHelper.CanPass(6.5, 2.0, 4.8, 2.75, out _, out _));
}
[TestMethod]
public void ModuleLongerThanRequired_ShouldPass()
{
Assert.IsTrue(CornerTurnCheckHelper.CanPass(7.0, 0.5, 3.0, 2.5, out _, out _));
}
[TestMethod]
public void WidthExceedsExit_ShouldNotPass()
{
Assert.IsFalse(CornerTurnCheckHelper.CanPass(4.8, 2.8, 3.0, 2.75, out _, out _));
}
[TestMethod]
public void ZeroOrNegative_ShouldNotPass()
{
Assert.IsFalse(CornerTurnCheckHelper.CanPass(0, 1, 2, 2, out _, out _));
Assert.IsFalse(CornerTurnCheckHelper.CanPass(2, 0, 2, 2, out _, out _));
Assert.IsFalse(CornerTurnCheckHelper.CanPass(2, 1, 0, 2, out _, out _));
Assert.IsFalse(CornerTurnCheckHelper.CanPass(2, 1, 2, 0, out _, out _));
Assert.IsFalse(CornerTurnCheckHelper.CanPass(-1, 1, 2, 2, out _, out _));
}
[TestMethod]
public void WidthExceedsBoth_ShouldNotPass()
{
Assert.IsFalse(CornerTurnCheckHelper.CanPass(3.0, 4.0, 2.0, 2.5, out _, out _));
}
[TestMethod]
public void VeryLarge_ShouldNotPass()
{
Assert.IsFalse(CornerTurnCheckHelper.CanPass(20.0, 5.0, 2.0, 2.0, out _, out _));
}
[TestMethod]
public void WideAndLongEnough_ShouldPass()
{
Assert.IsTrue(CornerTurnCheckHelper.CanPass(3.0, 1.5, 2.0, 2.0, out _, out _));
}
[TestMethod]
public void WideAndTooShort_ShouldNotPass()
{
Assert.IsFalse(CornerTurnCheckHelper.CanPass(1.2, 1.5, 2.0, 2.0, out _, out _));
}
[TestMethod]
public void NarrowLong_ShouldPass()
{
Assert.IsTrue(CornerTurnCheckHelper.CanPass(4.0, 1.0, 2.0, 2.0, out _, out _));
}
[TestMethod]
public void NarrowTooShort_ShouldNotPass()
{
Assert.IsFalse(CornerTurnCheckHelper.CanPass(1.5, 1.0, 2.0, 2.0, out _, out _));
}
}
}