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

Upload New pytest unit test File for pk1Comp

parent 99ceafe0
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*-
"""
Created on Thu Feb 27 15:06:08 2020
@author: Ethan
"""
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
from scipy.stats import gamma
import pk1Comp
import numpy as np
import pytest
def test_pkOptimizer_init():
pk1 = pk1Comp.pk1Comp()
#Test directory is same as one given
assert pk1.numParam == 4
assert pk1.Flow == 1
assert pk1.Vol == 0.5
assert pk1.PS == 0.15
assert pk1.C0 == 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 = pk1Comp.pk1Comp(5, 1.15, 1/60, 2.3/60)
#Test directory is same as one given
assert pk2.numParam == 5
assert pk2.Flow == 1.15
assert pk2.Vol == 1/60
assert pk2.PS == 2.3/60
assert pk2.C0 == 0 # Initial concentration of tracer in plasma
assert pk2.tmax == 10 #Time in seconds
assert pk2.dt == 1 #Time step
assert pk2.a == 2. # Alpha for gamma distribution
assert pk2.sol == []
def test_pkOptimizer_init_badVals0():
with pytest.raises(ValueError) as excinfo:
pk3 = pk1Comp.pk1Comp(-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 = pk1Comp.pk1Comp(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 = pk1Comp.pk1Comp(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 = pk1Comp.pk1Comp(-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 = pk1Comp.pk1Comp(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 = pk1Comp.pk1Comp(5, 1.15, 60, 2.3/60)
assert "Input values are incorrect." in str(excinfo.value)
def test_main():
pk1 = pk1Comp.pk1Comp()
pk1.main()
for i in range(len(pk1.sol)):
assert pk1.sol[i] == [[0.000e+00],[0.000e+00],[0.000e+00],[4.383e-01],[3.282e-01],[1.397e-01],[4.740e-02],[1.430e-02],[4.000e-03],[1.100e-03],[3.000e-04]][i]
pk2 = pk1Comp.pk1Comp(5, 1.15, 1/60, 2.3/60)
pk2.main()
for i in range(len(pk2.sol)):
assert pk2.sol[i] == [[0.000e+00],
[0.000e+00],
[0.000e+00],
[5.121e-01],
[2.216e-01],
[7.150e-02],
[2.050e-02],
[5.500e-03],
[1.400e-03],
[4.000e-04],
[1.000e-04]][i]
def test_derivs():
pk1 = pk1Comp.pk1Comp()
assert pk1.derivs(0, pk1.time).max().round(3) == 1.016
assert pk1.derivs(-2, pk1.time).max().round(3) == 5.016
assert pk1.derivs(100, pk1.time).max().round(3) == -198.984
\ 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