From 7d14c37aaad85ac4c487ac247768a285fa8cc427 Mon Sep 17 00:00:00 2001 From: Kristian Stolen Date: Thu, 13 Jan 2022 16:41:24 +0800 Subject: [PATCH] Handle array size inputs less than 1. --- 73_Reverse/csharp/Reverse/Reverse.Tests/ReverserTests.cs | 9 +++++++++ 73_Reverse/csharp/Reverse/Reverse/Reverser.cs | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/73_Reverse/csharp/Reverse/Reverse.Tests/ReverserTests.cs b/73_Reverse/csharp/Reverse/Reverse.Tests/ReverserTests.cs index 4e57a05a..6fe3bb77 100644 --- a/73_Reverse/csharp/Reverse/Reverse.Tests/ReverserTests.cs +++ b/73_Reverse/csharp/Reverse/Reverse.Tests/ReverserTests.cs @@ -1,5 +1,6 @@ using FsCheck.Xunit; using Reverse.Tests.Generators; +using System; using System.Linq; using Xunit; @@ -7,6 +8,14 @@ namespace Reverse.Tests { public class ReverserTests { + [Fact] + public void Constructor_CannotAcceptNumberLessThanZero() + { + Action action = () => new Reverser(0); + + Assert.Throws(action); + } + [Property(Arbitrary = new[] { typeof(PositiveIntegerGenerator) })] public void Constructor_CreatesRandomArrayOfSpecifiedLength(int size) { diff --git a/73_Reverse/csharp/Reverse/Reverse/Reverser.cs b/73_Reverse/csharp/Reverse/Reverse/Reverser.cs index 2d2ea700..fdab5e96 100644 --- a/73_Reverse/csharp/Reverse/Reverse/Reverser.cs +++ b/73_Reverse/csharp/Reverse/Reverse/Reverser.cs @@ -43,6 +43,11 @@ namespace Reverse private int[] CreateRandomArray(int size) { + if (size < 1) + { + throw new ArgumentOutOfRangeException(nameof(size), "Array size must be a positive integer"); + } + var array = new int[size]; for (int i = 1; i <= size; i++) {