Initial commit

This commit is contained in:
2026-07-13 09:25:40 +07:00
parent c08ff54676
commit bccfb156d7
1938 changed files with 641646 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
namespace RobotNet10.GlobalPathPlanner.UnitTest;
public class PathPlannerOptionsTests
{
[Fact]
public void PathPlannerOptions_DefaultValues_ShouldBeSet()
{
// Arrange & Act
var options = new PathPlannerOptions();
// Assert
Assert.Equal(0.0, options.LimitDistanceToEdge);
Assert.Equal(0.0, options.LimitDistanceToNode);
Assert.Equal(0.0, options.ResolutionSplit);
Assert.Null(options.TimeOut);
Assert.Equal(0.0, options.ChangeOrientationAngle);
}
[Fact]
public void PathPlannerOptions_AllProperties_ShouldBeSettable()
{
// Arrange & Act
var options = new PathPlannerOptions
{
LimitDistanceToEdge = 1.5,
LimitDistanceToNode = 0.5,
ResolutionSplit = 0.2,
TimeOut = TimeSpan.FromSeconds(10),
ChangeOrientationAngle = 90.0
};
// Assert
Assert.Equal(1.5, options.LimitDistanceToEdge);
Assert.Equal(0.5, options.LimitDistanceToNode);
Assert.Equal(0.2, options.ResolutionSplit);
Assert.NotNull(options.TimeOut);
Assert.Equal(TimeSpan.FromSeconds(10), options.TimeOut);
Assert.Equal(90.0, options.ChangeOrientationAngle);
}
[Fact]
public void PathPlannerOptions_AsRecord_ShouldSupportEquality()
{
// Arrange
var options1 = new PathPlannerOptions
{
LimitDistanceToEdge = 1.0,
LimitDistanceToNode = 0.3,
ResolutionSplit = 0.1,
ChangeOrientationAngle = 89.0
};
var options2 = new PathPlannerOptions
{
LimitDistanceToEdge = 1.0,
LimitDistanceToNode = 0.3,
ResolutionSplit = 0.1,
ChangeOrientationAngle = 89.0
};
// Act & Assert
Assert.Equal(options1, options2);
}
[Fact]
public void PathPlannerOptions_WithDifferentValues_ShouldNotBeEqual()
{
// Arrange
var options1 = new PathPlannerOptions
{
LimitDistanceToEdge = 1.0
};
var options2 = new PathPlannerOptions
{
LimitDistanceToEdge = 2.0
};
// Act & Assert
Assert.NotEqual(options1, options2);
}
[Fact]
public void PathPlannerOptions_TimeOut_CanBeNull()
{
// Arrange & Act
var options = new PathPlannerOptions
{
TimeOut = null
};
// Assert
Assert.Null(options.TimeOut);
}
[Fact]
public void PathPlannerOptions_TimeOut_CanBeSet()
{
// Arrange & Act
var options = new PathPlannerOptions
{
TimeOut = TimeSpan.FromMilliseconds(500)
};
// Assert
Assert.NotNull(options.TimeOut);
Assert.Equal(TimeSpan.FromMilliseconds(500), options.TimeOut);
}
}