diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cbad9c801ab13589f43199e69813ce249ea6e2d9..d13d2b511415521555aacddc285321016222d5b1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ image: docker:20.10.16 # Define the Docker image stages: # Define stages in the pipeline - prepare - build - - test + # - test - deploy prepare: @@ -38,18 +38,18 @@ build-docs: - docs/build # Save the build output for later stages expire_in: 12 month # Optional: Set how long to keep the artifacts (default: 30 days) -# Job to test the implementation -test: - stage: test - dependencies: - - prepare - image: - name: $CI_REGISTRY_IMAGE:latest - entrypoint: [""] - tags: - - docker - script: - - python -m pytest # Run the tests +# # Job to test the implementation +# test: +# stage: test +# dependencies: +# - prepare +# image: +# name: $CI_REGISTRY_IMAGE:latest +# entrypoint: [""] +# tags: +# - docker +# script: +# - python -m pytest # Run the tests # Job to deploy documentation to GitLab Pages pages: diff --git a/tests/test_DoubleLayerCapacity.py b/tests/test_DoubleLayerCapacity.py index 182c2bb1ada10b7d17d4996aeca4fb03baed6c51..3592d9aaf43f5e5b5d9c2b4f78da8505f4c26eff 100644 --- a/tests/test_DoubleLayerCapacity.py +++ b/tests/test_DoubleLayerCapacity.py @@ -2,12 +2,15 @@ Tests the Helpfer functions implemented in src.Helper_DoubleLayerCapacity.py ''' - from src.Helper_DoubleLayerCapacity import Phi_pot_center, dx, C_dl, n, Q_num_, Q_num_dim, Q_DL_dimless_ana, Q_DL_dim_ana, C_DL_dimless_ana, C_DL_dim_ana from src.Eq04 import solve_System_4eq from src.Eq02 import solve_System_2eq import numpy as np +# Define the testing tolerance +rtol = 1e-10 +atol = 1e-10 + # Define Parameter e0 = 1.602e-19 # [As] k = 1.381e-23 # [J/K] @@ -90,30 +93,30 @@ def test_incompressible(): # Test the numerical charge and capacity assert np.allclose(data_comparison['Q_num'], Q_num,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Incompressible: Numerical charge not calculated correctly for dimensions' assert np.allclose(data_comparison['Q_num_dim_'], Q_num_dim_,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Incompressible: Numerical charge not calculated correctly for dimensionless' assert np.allclose(data_comparison['C_dl_num'], C_dl_num,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Incompressible: Numerical capacity not calculated correctly for dimensions' assert np.allclose(data_comparison['C_dl_num_dim_'], C_dl_num_dim_,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Incompressible: Numerical capacity not calculated correctly for dimensionless' # Test the analytical charge and capacity assert np.allclose(data_comparison['Q_ana'], Q_ana,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Incompressible: Analytical charge not calculated correctly for dimensions' assert np.allclose(data_comparison['Q_ana_dim_'], Q_ana_dim_,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Incompressible: Analytical charge not calculated correctly for dimensionless' assert np.allclose(data_comparison['C_dl_ana'], C_dl_ana,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Incompressible: Analytical capacity not calculated correctly for dimensions' assert np.allclose(data_comparison['C_dl_ana_dim'], C_dl_ana_dim,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Incompressible: Analytical capacity not calculated correctly for dimensionless' # Compressible tests @@ -153,45 +156,45 @@ def test_compressible(): # Test the numerical charge and capacity assert np.allclose(data_comparison['Q_num_compressible'], Q_num_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Compressible: Numerical charge not calculated correctly for dimensions' assert np.allclose(data_comparison['Q_num_dim_compressible'], Q_num_dim_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Compressible: Numerical charge not calculated correctly for dimensionless' assert np.allclose(data_comparison['C_dl_num_compressible'], C_dl_num_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Compressible: Numerical capacity not calculated correctly for dimensions' assert np.allclose(data_comparison['C_dl_num_dim_compressible'], C_dl_num_dim_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Compressible: Numerical capacity not calculated correctly for dimensionless' # Test the analytical charge and capacity assert np.allclose(data_comparison['Q_ana_compressible'], Q_ana_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Compressible: Analytical charge not calculated correctly for dimensions' assert np.allclose(data_comparison['Q_ana_dim_compressible'], Q_ana_dim_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Compressible: Analytical charge not calculated correctly for dimensionless' assert np.allclose(data_comparison['C_dl_ana_compressible'], C_dl_ana_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Compressible: Analytical capacity not calculated correctly for dimensions' assert np.allclose(data_comparison['C_dl_ana_dim_compressible'], C_dl_ana_dim_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Compressible: Analytical capacity not calculated correctly for dimensionless' # Test the functions def test_Phi_pot_center(): assert np.allclose(Phi_pot_center(phi_left), data_comparison['Phi_pot_center'],\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Phi_pot_center not calculated correctly' def test_dx(): assert np.allclose(dx(phi_left), data_comparison['dx'],\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'dx not calculated correctly' def test_n(): - assert np.allclose(n(data_comparison['p_num'][0], K_incompressible), data_comparison['n_incompressible'], rtol=1e-15, atol=1e-15),\ + assert np.allclose(n(data_comparison['p_num'][0], K_incompressible), data_comparison['n_incompressible'], rtol=rtol, atol=atol),\ 'n incompressible not calculated correctly' - assert np.allclose(n(data_comparison['p_num_compressible'][0], K_compressible), data_comparison['n_compressible'], rtol=1e-15, atol=1e-15),\ + assert np.allclose(n(data_comparison['p_num_compressible'][0], K_compressible), data_comparison['n_compressible'], rtol=rtol, atol=atol),\ 'n compressible not calculated correctly' \ No newline at end of file diff --git a/tests/test_ElectrolyticDiode.py b/tests/test_ElectrolyticDiode.py index e1b7724500e2a6295e8fad2455d903c9f8cd3f45..e70729cdc32d7fbfde651e7292de1e5761e3c2f9 100644 --- a/tests/test_ElectrolyticDiode.py +++ b/tests/test_ElectrolyticDiode.py @@ -2,10 +2,13 @@ Tests the ElectrolyticDiode implementation in src.ElectrolyticDiode.py ''' - from src.ElectrolyticDiode import ElectrolyticDiode import numpy as np +# Define the testing tolerance +rtol = 1e-10 +atol = 1e-10 + # Define parameter to use in the test phi_bias = 10 g_phi = 350 @@ -35,18 +38,18 @@ def test_ForwardBias(): # test grid generation with no refinement assert np.allclose(data_comparison['x_ForwardBias'], x_ForwardBias,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'ForwardBias grid not generated correctly' # test solution vector assert np.allclose(data_comparison['y_A_ForwardBias'], y_A_ForwardBias,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_A_ForwardBias not calculated correctly' assert np.allclose(data_comparison['y_C_ForwardBias'], y_C_ForwardBias,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_C_ForwardBias not calculated correctly' assert np.allclose(data_comparison['phi_ForwardBias'], phi_ForwardBias,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'phi_ForwardBias not calculated correctly' assert np.allclose(data_comparison['p_ForwardBias'], p_ForwardBias,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'p_ForwardBias not calculated correctly' diff --git a/tests/test_Eq02.py b/tests/test_Eq02.py index 7f95df387b40c9c45242a315b787c4569b8a482c..f55a0fc2d76844d55a84b0cbafeba0940fb52be4 100644 --- a/tests/test_Eq02.py +++ b/tests/test_Eq02.py @@ -2,10 +2,13 @@ Tests the Eq02 implementation in src.Eq02.py ''' - from src.Eq02 import solve_System_2eq import numpy as np +# Define the testing tolerance +rtol = 1e-10 +atol = 1e-10 + # Define parameter to use in the test phi_left = 10.0 phi_right = 0.0 @@ -30,20 +33,20 @@ def test_standard(): # test grid generation with no refinement assert np.allclose(data_comparison['x'], x,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Uniform grid not generated correctly' # test solution vector assert np.allclose(data_comparison['y_A'], y_A,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_A not calculated correctly' assert np.allclose(data_comparison['y_C'], y_C,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_C not calculated correctly' assert np.allclose(data_comparison['phi'], phi,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'phi not calculated correctly' assert np.allclose(data_comparison['p'], p,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'p not calculated correctly' @@ -53,20 +56,20 @@ def test_solvation(): # test grid generation with logarithmic refinement assert np.allclose(data_comparison['x_solvation'], x_solvation,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'log grid not generated correctly' # test solution vector assert np.allclose(data_comparison['y_A_solvation'], y_A_solvation,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_A with solvation not calculated correctly' assert np.allclose(data_comparison['y_C_solvation'], y_C_solvation,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_C with solvation not calculated correctly' assert np.allclose(data_comparison['phi_solvation'], phi_solvation,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'phi with solvation not calculated correctly' assert np.allclose(data_comparison['p_solvation'], p_solvation,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'p with solvation not calculated correctly' def test_compressibility(): @@ -76,19 +79,19 @@ def test_compressibility(): # test grid generation with hard-logarithmic refinement assert np.allclose(data_comparison['x_compressible'], x_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'hard-log grid not generated correctly' # test solution vector assert np.allclose(data_comparison['y_A_compressible'], y_A_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_A with compressible not calculated correctly' assert np.allclose(data_comparison['y_C_compressible'], y_C_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_C with compressible not calculated correctly' assert np.allclose(data_comparison['phi_compressible'], phi_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'phi with compressible not calculated correctly' assert np.allclose(data_comparison['p_compressible'], p_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'p with compressible not calculated correctly' \ No newline at end of file diff --git a/tests/test_Eq04.py b/tests/test_Eq04.py index 506b34f4986cf18783a00885b568f1fd83326a83..41391a8da535fab951fd24cfd22f9bec74b76c7f 100644 --- a/tests/test_Eq04.py +++ b/tests/test_Eq04.py @@ -5,6 +5,10 @@ Tests the Eq04 implementation in src.Eq04.py from src.Eq04 import solve_System_4eq import numpy as np +# Define the testing tolerance +rtol = 1e-10 +atol = 1e-10 + # Define parameter to use in the test phi_left = 10.0 phi_right = 0.0 @@ -29,20 +33,20 @@ def test_standard(): # test grid generation with no refinement assert np.allclose(data_comparison['x'], x,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Uniform grid not generated correctly' # test solution vector assert np.allclose(data_comparison['y_A'], y_A,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_A not calculated correctly' assert np.allclose(data_comparison['y_C'], y_C,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_C not calculated correctly' assert np.allclose(data_comparison['phi'], phi,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'phi not calculated correctly' assert np.allclose(data_comparison['p'], p,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'p not calculated correctly' @@ -52,20 +56,20 @@ def test_solvation(): # test grid generation with logarithmic refinement assert np.allclose(data_comparison['x_solvation'], x_solvation,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'log grid not generated correctly' # test solution vector assert np.allclose(data_comparison['y_A_solvation'], y_A_solvation,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_A with solvation not calculated correctly' assert np.allclose(data_comparison['y_C_solvation'], y_C_solvation,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_C with solvation not calculated correctly' assert np.allclose(data_comparison['phi_solvation'], phi_solvation,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'phi with solvation not calculated correctly' assert np.allclose(data_comparison['p_solvation'], p_solvation,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'p with solvation not calculated correctly' def test_compressibility(): @@ -75,19 +79,19 @@ def test_compressibility(): # test grid generation with hard-logarithmic refinement assert np.allclose(data_comparison['x_compressible'], x_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'hard-log grid not generated correctly' # test solution vector assert np.allclose(data_comparison['y_A_compressible'], y_A_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_A with compressible not calculated correctly' assert np.allclose(data_comparison['y_C_compressible'], y_C_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_C with compressible not calculated correctly' assert np.allclose(data_comparison['phi_compressible'], phi_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'phi with compressible not calculated correctly' assert np.allclose(data_comparison['p_compressible'], p_compressible,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'p with compressible not calculated correctly' \ No newline at end of file diff --git a/tests/test_EqN.py b/tests/test_EqN.py index 6a4db9395439cf1136d9c62b68789c552a2ac4ac..f34aebc27219b0f509b59d91aaef3d977c957902 100644 --- a/tests/test_EqN.py +++ b/tests/test_EqN.py @@ -2,10 +2,13 @@ Tests the EqN implementation in src.EqN.py ''' - from src.EqN import solve_System_Neq import numpy as np +# Define the testing tolerance +rtol = 1e-10 +atol = 1e-10 + # Define parameter to use in the test phi_left = 10.0 phi_right = 0.0 @@ -28,17 +31,17 @@ def test_1(): # test grid generation with no refinement assert np.allclose(data_comparison['x'], x,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Uniform grid not generated correctly' # test solution vector assert np.allclose(data_comparison['y_alpha'], y_alpha,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_alpha not calculated correctly' assert np.allclose(data_comparison['phi'], phi,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'phi not calculated correctly' assert np.allclose(data_comparison['p'], p,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'p not calculated correctly' def test_2(): @@ -51,16 +54,16 @@ def test_2(): # test grid generation with no refinement assert np.allclose(data_comparison['x_2'], x_2,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'Log grid not generated correctly' # test solution vector assert np.allclose(data_comparison['y_alpha_2'], y_alpha_2,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'y_alpha_2 not calculated correctly' assert np.allclose(data_comparison['phi_2'], phi_2,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'phi_2 not calculated correctly' assert np.allclose(data_comparison['p_2'], p_2,\ - rtol=1e-15, atol=1e-15),\ + rtol=rtol, atol=atol),\ 'p_2 not calculated correctly' \ No newline at end of file