Skip to content

Commit 15ea612

Browse files
committed
Add simple test for empty span check.
1 parent 2f3cfd3 commit 15ea612

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

CSparse.Tests/Complex/Factorization/SparseLUTest.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ namespace CSparse.Tests.Complex.Factorization
33
using CSparse.Complex;
44
using CSparse.Complex.Factorization;
55
using NUnit.Framework;
6+
using System;
67
using Complex = System.Numerics.Complex;
78

89
public class SparseLUTest
@@ -30,6 +31,14 @@ public void TestSolve()
3031
A.Multiply(-1.0, x, 1.0, r);
3132

3233
Assert.That(Vector.Norm(r.Length, r) < EPS, Is.True);
34+
35+
// Test exceptions:
36+
37+
var e1 = Assert.Throws<ArgumentNullException>(() => lu.Solve(b, null));
38+
var e2 = Assert.Throws<ArgumentNullException>(() => lu.Solve(null, x));
39+
40+
Assert.That(e1.ParamName, Is.EqualTo("result"));
41+
Assert.That(e2.ParamName, Is.EqualTo("input"));
3342
}
3443

3544
[Test]

CSparse.Tests/Double/Factorization/SparseLUTest.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ namespace CSparse.Tests.Double.Factorization
33
using CSparse.Double;
44
using CSparse.Double.Factorization;
55
using NUnit.Framework;
6+
using System;
67

78
public class SparseLUTest
89
{
@@ -29,6 +30,14 @@ public void TestSolve()
2930
A.Multiply(-1.0, x, 1.0, r);
3031

3132
Assert.That(Vector.Norm(r.Length, r) < EPS, Is.True);
33+
34+
// Test exceptions:
35+
36+
var e1 = Assert.Throws<ArgumentNullException>(() => lu.Solve(b, null));
37+
var e2 = Assert.Throws<ArgumentNullException>(() => lu.Solve(null, x));
38+
39+
Assert.That(e1.ParamName, Is.EqualTo("result"));
40+
Assert.That(e2.ParamName, Is.EqualTo("input"));
3241
}
3342

3443
[Test]

CSparse/Complex/Factorization/SparseLU.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,9 +153,9 @@ public void Solve(ReadOnlySpan<Complex> input, Span<Complex> result)
153153
/// <param name="result">The left hand side vector, <c>x</c>.</param>
154154
public void SolveTranspose(ReadOnlySpan<Complex> input, Span<Complex> result)
155155
{
156-
if (input == null) throw new ArgumentNullException(nameof(input));
156+
if (input.IsEmpty) throw new ArgumentNullException(nameof(input));
157157

158-
if (result == null) throw new ArgumentNullException(nameof(result));
158+
if (result.IsEmpty) throw new ArgumentNullException(nameof(result));
159159

160160
var x = this.temp;
161161

0 commit comments

Comments
 (0)