-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtest_ph_diagrams.py
120 lines (94 loc) · 3.41 KB
/
test_ph_diagrams.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import numpy as np
from src.ph_diagrams import Acid
FOLDER = "tests/golden_files/"
class TestAceticAcid:
acetic_acid = Acid((4.76,), 0.1)
def test_acetic_acid_alphas(self):
assert np.allclose(
self.acetic_acid.alpha,
np.loadtxt(f"{FOLDER}acetic_acid_alphas.csv", delimiter=",", unpack=True),
)
def test_acetic_acid_logc(self):
assert np.allclose(
self.acetic_acid.log_concentrations,
np.loadtxt(f"{FOLDER}acetic_acid_logc.csv", delimiter=",", unpack=True),
)
class TestFumaricAcid:
fumaric_acid = Acid((3.02, 4.48), 0.1) # figure 10.3 Harris
def test_fumaric_acid_alphas(self):
assert np.allclose(
self.fumaric_acid.alpha,
np.loadtxt(f"{FOLDER}fumaric_acid_alphas.csv", delimiter=",", unpack=True),
)
def test_fumaric_acid_logc(self):
assert np.allclose(
self.fumaric_acid.log_concentrations,
np.loadtxt(f"{FOLDER}fumaric_acid_logc.csv", delimiter=",", unpack=True),
)
class TestGenericDiproticAcid:
generic_diprotic = Acid((3.0, 8.0), 0.1) # figure 19 Kahlert & Scholz
def test_generic_diprotic_acid_alphas(self):
assert np.allclose(
self.generic_diprotic.alpha,
np.loadtxt(
f"{FOLDER}gen_diprotic_acid_alphas.csv", delimiter=",", unpack=True
),
)
def test_generic_diprotic_acid_logc(self):
assert np.allclose(
self.generic_diprotic.log_concentrations,
np.loadtxt(
f"{FOLDER}gen_diprotic_acid_logc.csv", delimiter=",", unpack=True
),
)
class TestGenericTriproticAcid:
generic_triprotic = Acid((2, 5, 12), 0.1)
def test_generic_triprotic_acid_alphas(self):
assert np.allclose(
self.generic_triprotic.alpha,
np.loadtxt(
f"{FOLDER}gen_triprotic_acid_alphas.csv", delimiter=",", unpack=True
),
)
def test_generic_triprotic_acid_logc(self):
assert np.allclose(
self.generic_triprotic.log_concentrations,
np.loadtxt(
f"{FOLDER}gen_triprotic_acid_logc.csv", delimiter=",", unpack=True
),
)
class TestTyrosine:
tyrosine = Acid((2.17, 9.19, 10.47), 0.1) # exercise 10.34 Harris
def test_tyrosine_alphas(self):
assert np.allclose(
self.tyrosine.alpha,
np.loadtxt(f"{FOLDER}tyrosine_alphas.csv", delimiter=",", unpack=True),
)
def test_tyrosine_logc(self):
assert np.allclose(
self.tyrosine.log_concentrations,
np.loadtxt(f"{FOLDER}tyrosine_logc.csv", delimiter=",", unpack=True),
)
class TestCrIII:
CrIII_hydrolysis = (
10 ** (-3.80),
10 ** (-6.40),
10 ** (-6.40),
10 ** (-11.40),
) # exercise 10.35 Harris
CrIII_pKa = np.log10(CrIII_hydrolysis) * -1
CrIII = Acid(CrIII_pKa, 0.1)
def test_CrIII_alphas(self): # noqa
assert np.allclose(
self.CrIII.alpha,
np.loadtxt(
f"{FOLDER}CrIII_hydrolysis_alphas.csv", delimiter=",", unpack=True
),
)
def test_CrIII_logc(self): # noqa
assert np.allclose(
self.CrIII.log_concentrations,
np.loadtxt(
f"{FOLDER}CrIII_hydrolysis_logc.csv", delimiter=",", unpack=True
),
)