aboutsummaryrefslogtreecommitdiff
path: root/test_solvers.py
diff options
context:
space:
mode:
authorThomas Albers Raviola <thomas@thomaslabs.org>2024-05-28 11:23:02 +0200
committerThomas Albers Raviola <thomas@thomaslabs.org>2024-05-28 11:23:02 +0200
commit255c2e7b7bf721296d4d4f22cb106ab3cf197e0a (patch)
treeea255bc9397e095d436d9f265037284dfcc0cc06 /test_solvers.py
parentc24397c9d2ca50b3989de5107498666724e8c50c (diff)
Add unit test with pytest
Diffstat (limited to 'test_solvers.py')
-rw-r--r--test_solvers.py54
1 files changed, 0 insertions, 54 deletions
diff --git a/test_solvers.py b/test_solvers.py
deleted file mode 100644
index ad37c8c..0000000
--- a/test_solvers.py
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/env python3
-"""Contains routines to test the solvers module"""
-
-import numpy as np
-from numpy.typing import NDArray
-import solvers
-
-
-def main() -> None:
- """Main testing function."""
-
- print("\nTest elimination")
- test_elimination_3()
- print("\nTest pivot")
- test_pivot_3()
- print("\nTest linear dependency")
- test_lindep_3()
-
-
-def test_elimination_3() -> None:
- """Tests elimination with 3 variables."""
- aa = np.array([[2.0, 4.0, 4.0], [5.0, 4.0, 2.0], [1.0, 2.0, -1.0]], dtype=np.float_)
- bb = np.array([1.0, 4.0, 2.0], dtype=np.float_)
- xx_expected = np.array([0.666666666666667, 0.416666666666667, -0.5], dtype=np.float_)
- xx_gauss = solvers.gaussian_eliminate(aa, bb)
- _check_result(xx_expected, xx_gauss)
-
-
-def test_pivot_3() -> None:
- """Tests a solution with 3 variables, where pivot is necessary."""
- aa = np.array([[2.0, 4.0, 4.0], [1.0, 2.0, -1.0], [5.0, 4.0, 2.0]])
- bb = np.array([1.0, 2.0, 4.0])
- xx_expected = np.array([0.666666666666667, 0.416666666666667, -0.5])
- xx_gauss = solvers.gaussian_eliminate(aa, bb)
- _check_result(xx_expected, xx_gauss)
-
-
-def test_lindep_3() -> None:
- """Tests a linearly dependent system wit three variables."""
- aa = np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]])
- bb = np.array([1.0, 2.0, 3.0])
- xx_expected = None
- xx_gauss = solvers.gaussian_eliminate(aa, bb)
- _check_result(xx_expected, xx_gauss)
-
-
-def _check_result(expected: NDArray[np.float_] | None, obtained: NDArray[np.float_] | None) -> None:
- """Checks results by printing expected and obtained one."""
- print("Expected:", expected)
- print("Obtained:", obtained)
-
-
-if __name__ == "__main__":
- main()