summaryrefslogtreecommitdiff
path: root/szilagyi/tests.py
blob: 40d82f7bfa50cb5d1de1e9da4682901d77d8e3de (plain)
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)