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
|
import unittest
import pint
from . import calculate_swi
class CalculateSwi(unittest.TestCase):
def setUp(self):
ureg = pint.UnitRegistry()
self.C = ureg.C
self.ft = ureg.ft
def test_out_of_range(self):
samples = [
(20 * self.C, -10 * self.ft),
(-10 * self.C, 25000 * self.ft),
(20 * self.C, 60000 * self.ft),
(41 * self.C, 25000 * self.ft),
(41 * self.C, -10 * self.ft),
]
for dt, depth in samples:
with self.assertRaises(ValueError):
calculate_swi(dt, depth)
def test_between(self):
samples = [
(6.53 * self.C, 30000 * self.ft, 1, 2),
(10.78 * self.C, 20500 * self.ft, -1, 0),
(24.45 * self.C, 2600 * self.ft, 0, 1),
(7.22 * self.C, 1300 * self.ft, -10, -9),
(16.1 * self.C, 6200 * self.ft, 0, 1),
(3 * self.C, 20000 * self.ft, -4, -3),
]
for dt, depth, low, high in samples:
swi = calculate_swi(dt, depth)
self.assertGreater(swi, low)
self.assertLess(swi, high)
|