All unit tests of exercise "all-your-base" that expect an ArgumentException should expect it with Assert.ThrowsAny(Of ArgumentException) instead of Assert.Throws(Of ArgumentException) which then would allow more accurate sub-exceptions like ArgumentOutOfRangeException to be thrown.