Skip to content
Snippets Groups Projects
Commit 3ce0d44f authored by Tu, Ethan's avatar Tu, Ethan
Browse files

Upload New unit testing pytest File for pk2comp

parent 140e6113
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*-
"""
Created on Thu Feb 27 16:26:32 2020
@author: Ethan
"""
from scipy.integrate import odeint
import pk2Comp
import pytest
def test_pkOptimizer_init():
pk1 = pk2Comp.pk2Comp()
#Test directory is same as one given
assert pk1.numParam == 4
assert pk1.flow == 1/60
assert pk1.Vp == 0.05
assert pk1.Visf == 0.15
assert pk1.PS == 1/60
assert pk1.Cp0 == 0 # Initial concentration of tracer in plasma
assert pk1.Cisf0 == 0 # Initial concentration of tracer in plasma
assert pk1.tmax == 10 #Time in seconds
assert pk1.dt == 1 #Time step
assert pk1.a == 2. # Alpha for gamma distribution
assert pk1.sol == []
def test_pkOptimizer_init_newVals():
pk2 = pk2Comp.pk2Comp(5, 1.15, 1/60, 2.3/60, 7)
#Test directory is same as one given
assert pk2.numParam == 5
assert pk2.flow == 1.15
assert pk2.Vp == 1/60
assert pk2.Visf == 2.3/60
assert pk2.PS == 7 # Initial concentration of tracer in plasma
def test_pkOptimizer_init_badVals0():
with pytest.raises(ValueError) as excinfo:
pk3 = pk2Comp.pk2Comp(-5, 1.15, 1/60, 2.3/60)
assert "Input values are incorrect." in str(excinfo.value)
def test_pkOptimizer_init_badVals1():
with pytest.raises(ValueError) as excinfo:
pk3 = pk2Comp.pk2Comp(5, -1.15, 1/60, 2.3/60)
assert "Input values are incorrect." in str(excinfo.value)
def test_pkOptimizer_init_badVals2():
with pytest.raises(ValueError) as excinfo:
pk3 = pk2Comp.pk2Comp(5, 1.15, -1/60, 2.3/60)
assert "Input values are incorrect." in str(excinfo.value)
def test_pkOptimizer_init_badVals3():
with pytest.raises(ValueError) as excinfo:
pk3 = pk2Comp.pk2Comp(-5, 1.15, 1/60, -2.3/60)
assert "Input values are incorrect." in str(excinfo.value)
def test_pkOptimizer_init_badVals4():
with pytest.raises(ValueError) as excinfo:
pk3 = pk2Comp.pk2Comp(5, 1.15, 1/60, 60)
assert "Input values are incorrect." in str(excinfo.value)
def test_pkOptimizer_init_badVals5():
with pytest.raises(ValueError) as excinfo:
pk3 = pk2Comp.pk2Comp(5, 1.15, 60, 2.3/60)
assert "Input values are incorrect." in str(excinfo.value)
def test_main():
pk1 = pk2Comp.pk2Comp()
pk1.main()
pk2 = pk2Comp.pk2Comp(5, 1.15, 1/60, 2.3/60)
pk2.main()
assert 1 == 1
def test_derivs():
pk1 = pk2Comp.pk2Comp()
ssol = odeint(pk1.derivs, [0,0], pk1.time)
assert ssol[:,0].max().round(3) == 0.151
ssol = odeint(pk1.derivs, [1,0], pk1.time)
assert ssol[:,0].max().round(3) == 1.0
ssol = odeint(pk1.derivs, [0,1], pk1.time)
assert ssol[:,0].max().round(3) == 0.526
ssol = odeint(pk1.derivs, [-2,0], pk1.time)
assert ssol[:,0].max().round(3) == -0.08
ssol = odeint(pk1.derivs, [0,-2], pk1.time)
assert ssol[:,0].max().round(3) == 0.0
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment