fix: validate null arguments for Polygon and PolygonF extensions

This commit is contained in:
Oliver Booth 2023-04-11 17:05:58 +01:00
parent 5ff521073c
commit 2e9f27b6b7
No known key found for this signature in database
GPG Key ID: 20BEB9DC87961025
2 changed files with 63 additions and 0 deletions

View File

@ -14,8 +14,14 @@ public static class PolygonExtensions
/// </summary> /// </summary>
/// <param name="polygon">The polygon whose points to update.</param> /// <param name="polygon">The polygon whose points to update.</param>
/// <param name="point">The point to add.</param> /// <param name="point">The point to add.</param>
/// <exception cref="ArgumentNullException"><paramref name="polygon" /> is <see langword="null" />.</exception>
public static void AddVertex(this Polygon polygon, Vector2Int point) public static void AddVertex(this Polygon polygon, Vector2Int point)
{ {
if (polygon is null)
{
throw new ArgumentNullException(nameof(polygon));
}
polygon.AddVertex(point.ToSystemPoint()); polygon.AddVertex(point.ToSystemPoint());
} }
@ -24,8 +30,23 @@ public static class PolygonExtensions
/// </summary> /// </summary>
/// <param name="polygon">The polygon whose vertices to update.</param> /// <param name="polygon">The polygon whose vertices to update.</param>
/// <param name="vertices">The vertices to add.</param> /// <param name="vertices">The vertices to add.</param>
/// <exception cref="ArgumentNullException">
/// <para><paramref name="polygon" /> is <see langword="null" />.</para>
/// -or-
/// <para><paramref name="vertices" /> is <see langword="null" />.</para>
/// </exception>
public static void AddVertices(this Polygon polygon, IEnumerable<Vector2Int> vertices) public static void AddVertices(this Polygon polygon, IEnumerable<Vector2Int> vertices)
{ {
if (polygon is null)
{
throw new ArgumentNullException(nameof(polygon));
}
if (vertices is null)
{
throw new ArgumentNullException(nameof(vertices));
}
foreach (Vector2Int vertex in vertices) foreach (Vector2Int vertex in vertices)
{ {
polygon.AddVertex(vertex); polygon.AddVertex(vertex);

View File

@ -14,8 +14,14 @@ public static class PolygonFExtensions
/// </summary> /// </summary>
/// <param name="polygon">The polygon whose vertices to update.</param> /// <param name="polygon">The polygon whose vertices to update.</param>
/// <param name="vertex">The vertex to add.</param> /// <param name="vertex">The vertex to add.</param>
/// <exception cref="ArgumentNullException"><paramref name="polygon" /> is <see langword="null" />.</exception>
public static void AddVertex(this PolygonF polygon, Vector2Int vertex) public static void AddVertex(this PolygonF polygon, Vector2Int vertex)
{ {
if (polygon is null)
{
throw new ArgumentNullException(nameof(polygon));
}
polygon.AddVertex(vertex.ToSystemPoint()); polygon.AddVertex(vertex.ToSystemPoint());
} }
@ -24,8 +30,14 @@ public static class PolygonFExtensions
/// </summary> /// </summary>
/// <param name="polygon">The polygon whose vertices to update.</param> /// <param name="polygon">The polygon whose vertices to update.</param>
/// <param name="vertex">The vertex to add.</param> /// <param name="vertex">The vertex to add.</param>
/// <exception cref="ArgumentNullException"><paramref name="polygon" /> is <see langword="null" />.</exception>
public static void AddVertex(this PolygonF polygon, Vector2 vertex) public static void AddVertex(this PolygonF polygon, Vector2 vertex)
{ {
if (polygon is null)
{
throw new ArgumentNullException(nameof(polygon));
}
polygon.AddVertex(vertex.ToSystemPointF()); polygon.AddVertex(vertex.ToSystemPointF());
} }
@ -34,8 +46,23 @@ public static class PolygonFExtensions
/// </summary> /// </summary>
/// <param name="polygon">The polygon whose vertices to update.</param> /// <param name="polygon">The polygon whose vertices to update.</param>
/// <param name="vertices">The vertices to add.</param> /// <param name="vertices">The vertices to add.</param>
/// <exception cref="ArgumentNullException">
/// <para><paramref name="polygon" /> is <see langword="null" />.</para>
/// -or-
/// <para><paramref name="vertices" /> is <see langword="null" />.</para>
/// </exception>
public static void AddVertices(this PolygonF polygon, IEnumerable<Vector2Int> vertices) public static void AddVertices(this PolygonF polygon, IEnumerable<Vector2Int> vertices)
{ {
if (polygon is null)
{
throw new ArgumentNullException(nameof(polygon));
}
if (vertices is null)
{
throw new ArgumentNullException(nameof(vertices));
}
foreach (Vector2Int vertex in vertices) foreach (Vector2Int vertex in vertices)
{ {
polygon.AddVertex(vertex); polygon.AddVertex(vertex);
@ -47,8 +74,23 @@ public static class PolygonFExtensions
/// </summary> /// </summary>
/// <param name="polygon">The polygon whose vertices to update.</param> /// <param name="polygon">The polygon whose vertices to update.</param>
/// <param name="vertices">The vertices to add.</param> /// <param name="vertices">The vertices to add.</param>
/// <exception cref="ArgumentNullException">
/// <para><paramref name="polygon" /> is <see langword="null" />.</para>
/// -or-
/// <para><paramref name="vertices" /> is <see langword="null" />.</para>
/// </exception>
public static void AddVertices(this PolygonF polygon, IEnumerable<Vector2> vertices) public static void AddVertices(this PolygonF polygon, IEnumerable<Vector2> vertices)
{ {
if (polygon is null)
{
throw new ArgumentNullException(nameof(polygon));
}
if (vertices is null)
{
throw new ArgumentNullException(nameof(vertices));
}
foreach (Vector2 vertex in vertices) foreach (Vector2 vertex in vertices)
{ {
polygon.AddVertex(vertex); polygon.AddVertex(vertex);