public void DetermineStatusWithNullSolutionVector() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); criterium.DetermineStatus(1, null, new DenseVector(3, 6), new DenseVector(4, 4)); }
public void DetermineStatusWithNullResidualVectorThrowsArgumentNullException() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); Assert.Throws<ArgumentNullException>(() => criterium.DetermineStatus(1, new DenseVector(3, 4), new DenseVector(3, 6), null)); }
public void DetermineStatusWithIllegalIterationNumber() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); criterium.DetermineStatus(-1, new DenseVector(3, 4), new DenseVector(3, 5), new DenseVector(3, 6)); }
public void DetermineStatusWithIllegalIterationNumberThrowsArgumentOutOfRangeException() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); Assert.Throws<ArgumentOutOfRangeException>(() => criterium.DetermineStatus(-1, DenseVector.Create(3, i => 4), DenseVector.Create(3, i => 5), DenseVector.Create(3, i => 6))); }
public void DetermineStatusWithNullSolutionVectorThrowsArgumentNullException() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); Assert.Throws<ArgumentNullException>(() => criterium.DetermineStatus(1, null, DenseVector.Create(3, i => 6), DenseVector.Create(4, i => 4))); }
public void DetermineStatusWithNonMatchingVectorsThrowsArgumentException() { var criterium = new FailureStopCriterium<Complex>(); Assert.IsNotNull(criterium, "There should be a criterium"); Assert.Throws<ArgumentException>(() => criterium.DetermineStatus(1, DenseVector.Create(3, i => 4), DenseVector.Create(3, i => 6), DenseVector.Create(4, i => 4))); }
public void DetermineStatus() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] { 3.0f, 2.0f, 1.0f }); var source = new DenseVector(new[] { 1001.0f, 0.0f, 2003.0f }); var residual = new DenseVector(new[] { 1.0f, 2.0f, 3.0f }); criterium.DetermineStatus(5, solution, source, residual); Assert.IsInstanceOf(typeof(CalculationRunning), criterium.Status, "Should be running"); }
public void DetermineStatus() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] { new Complex(3.0, 0), new Complex(2.0, 0), new Complex(1, 0) }); var source = new DenseVector(new[] { new Complex(1001.0, 0), Complex.Zero, new Complex(2003.0, 0) }); var residual = new DenseVector(new[] { new Complex(1.0, 0), new Complex(2.0, 0), new Complex(3, 0) }); criterium.DetermineStatus(5, solution, source, residual); Assert.IsInstanceOf(typeof(CalculationRunning), criterium.Status, "Should be running"); }
public void DetermineStatusWithResidualNaN() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new [] { 1.0, 1.0, 2.0 }); var source = new DenseVector(new [] { 1001.0, 0, 2003.0 }); var residual = new DenseVector(new [] { 1000, double.NaN, 2001 }); criterium.DetermineStatus(5, solution, source, residual); Assert.IsInstanceOfType(typeof(CalculationFailure), criterium.Status, "Should be failed"); }
public void DetermineStatus() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] { 3.0, 2.0, 1.0 }); var source = new DenseVector(new[] { 1001.0, 0.0, 2003.0 }); var residual = new DenseVector(new[] { 1.0, 2.0, 3.0 }); criterium.DetermineStatus(5, solution, source, residual); Assert.IsInstanceOf(typeof(CalculationRunning), criterium.Status, "Should be running"); }
public void DetermineStatusWithSolutionNaN() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] { 1.0, 1.0, double.NaN }); var source = new DenseVector(new[] { 1001.0, 0.0, 2003.0 }); var residual = new DenseVector(new[] { 1000.0, 1000.0, 2001.0 }); var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Failure, status, "Should be failed"); }
public void DetermineStatusWithSolutionNaN() { var criterium = new FailureStopCriterium<Complex32>(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] {new Complex32(1.0f, 0), new Complex32(1.0f, 0), new Complex32(float.NaN, 0)}); var source = new DenseVector(new[] {new Complex32(1001.0f, 0), Complex32.Zero, new Complex32(2003.0f, 0)}); var residual = new DenseVector(new[] {new Complex32(1000, 0), new Complex32(1000, 0), new Complex32(2001, 0)}); var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Failure, status, "Should be failed"); }
public void DetermineStatusWithNonMatchingVectorsThrowsArgumentException() { var criterium = new FailureStopCriterium<Complex32>(); Assert.IsNotNull(criterium, "There should be a criterium"); Assert.That(() => criterium.DetermineStatus(1, Vector<Complex32>.Build.Dense(3, 4), Vector<Complex32>.Build.Dense(3, 6), Vector<Complex32>.Build.Dense(4, 4)), Throws.ArgumentException); }
public void ResetCalculationState() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] {new Complex(1.0, 0), new Complex(1.0, 0), new Complex(2, 0)}); var source = new DenseVector(new[] {new Complex(1001.0, 0), Complex.Zero, new Complex(2003.0, 0)}); var residual = new DenseVector(new[] {new Complex(1000, 0), new Complex(1000, 0), new Complex(2001, 0)}); var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Continue, status, "Should be running"); criterium.Reset(); Assert.AreEqual(IterationStatus.Continue, criterium.Status, "Should not have started"); }
public void DetermineStatusWithSolutionNaN() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] { 1.0, 1.0, double.NaN }); var source = new DenseVector(new[] { 1001.0, 0.0, 2003.0 }); var residual = new DenseVector(new[] { 1000.0, 1000.0, 2001.0 }); criterium.DetermineStatus(5, solution, source, residual); Assert.IsInstanceOfType(typeof(CalculationFailure), criterium.Status, "Should be failed"); }
public void DetermineStatusWithNonMatchingVectorsThrowsArgumentException() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); Assert.Throws<ArgumentException>(() => criterium.DetermineStatus(1, new DenseVector(3, 4), new DenseVector(3, 6), new DenseVector(4, 4))); }
public void ResetCalculationState() { var criterium = new FailureStopCriterium<float>(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] {1.0f, 1.0f, 2.0f}); var source = new DenseVector(new[] {1001.0f, 0.0f, 2003.0f}); var residual = new DenseVector(new[] {1000.0f, 1000.0f, 2001.0f}); var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Continue, status, "Should be running"); criterium.Reset(); Assert.AreEqual(IterationStatus.Continue, criterium.Status, "Should not have started"); }
public void ResetCalculationState() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] { new Complex32(1.0f, 0), new Complex32(1.0f, 0), new Complex32(2, 0) }); var source = new DenseVector(new[] { new Complex32(1001.0f, 0), Complex32.Zero, new Complex32(2003.0f, 0) }); var residual = new DenseVector(new[] { new Complex32(1000, 0), new Complex32(1000, 0), new Complex32(2001, 0) }); criterium.DetermineStatus(5, solution, source, residual); Assert.IsInstanceOf(typeof(CalculationRunning), criterium.Status, "Should be running"); criterium.ResetToPrecalculationState(); Assert.IsInstanceOf(typeof(CalculationIndetermined), criterium.Status, "Should not have started"); }
public void DetermineStatusWithSolutionNaN() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] { new Complex32(1.0f, 0), new Complex32(1.0f, 0), new Complex32(float.NaN, 0) }); var source = new DenseVector(new[] { new Complex32(1001.0f, 0), Complex32.Zero, new Complex32(2003.0f, 0) }); var residual = new DenseVector(new[] { new Complex32(1000, 0), new Complex32(1000, 0), new Complex32(2001, 0) }); criterium.DetermineStatus(5, solution, source, residual); Assert.IsInstanceOf(typeof(CalculationFailure), criterium.Status, "Should be failed"); }
public void DetermineStatusWithResidualNaN() { var criterium = new FailureStopCriterium<float>(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] {1.0f, 1.0f, 2.0f}); var source = new DenseVector(new[] {1001.0f, 0, 2003.0f}); var residual = new DenseVector(new[] {1000, float.NaN, 2001}); var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Failure, status, "Should be failed"); }
public void DetermineStatus() { var criterium = new FailureStopCriterium<Complex32>(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] {new Complex32(3.0f, 0), new Complex32(2.0f, 0), new Complex32(1, 0)}); var source = new DenseVector(new[] {new Complex32(1001.0f, 0), Complex32.Zero, new Complex32(2003.0f, 0)}); var residual = new DenseVector(new[] {new Complex32(1.0f, 0), new Complex32(2.0f, 0), new Complex32(3, 0)}); var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Continue, status, "Should be running"); }
public void DetermineStatus() { var criterium = new FailureStopCriterium<double>(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] {3.0, 2.0, 1.0}); var source = new DenseVector(new[] {1001.0, 0.0, 2003.0}); var residual = new DenseVector(new[] {1.0, 2.0, 3.0}); var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Continue, status, "Should be running"); }
public void DetermineStatusWithSolutionNaN() { var criterium = new FailureStopCriterium<double>(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] {1.0, 1.0, double.NaN}); var source = new DenseVector(new[] {1001.0, 0.0, 2003.0}); var residual = new DenseVector(new[] {1000.0, 1000.0, 2001.0}); var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Failure, status, "Should be failed"); }
public void DetermineStatusWithIllegalIterationNumberThrowsArgumentOutOfRangeException() { var criterium = new FailureStopCriterium<Complex32>(); Assert.IsNotNull(criterium, "There should be a criterium"); Assert.That(() => criterium.DetermineStatus(-1, Vector<Complex32>.Build.Dense(3, 4), Vector<Complex32>.Build.Dense(3, 5), Vector<Complex32>.Build.Dense(3, 6)), Throws.TypeOf<ArgumentOutOfRangeException>()); }
public void DetermineStatusWithResidualNaN() { var criterium = new FailureStopCriterium(); Assert.IsNotNull(criterium, "There should be a criterium"); var solution = new DenseVector(new[] { 1.0f, 1.0f, 2.0f }); var source = new DenseVector(new[] { 1001.0f, 0, 2003.0f }); var residual = new DenseVector(new[] { 1000, float.NaN, 2001 }); criterium.DetermineStatus(5, solution, source, residual); Assert.IsInstanceOf(typeof(CalculationFailure), criterium.Status, "Should be failed"); }