96 lines
2.3 KiB
Python
96 lines
2.3 KiB
Python
"""Test of fit module.
|
|
|
|
:Date: 2019-06-01
|
|
|
|
.. module:: test_fit
|
|
:platform: *nix, Windows
|
|
:synopsis: Test of fit module.
|
|
|
|
.. moduleauthor:: Daniel Weschke <daniel.weschke@directbox.de>
|
|
"""
|
|
from __future__ import division, print_function, unicode_literals
|
|
import unittest
|
|
from time import mktime
|
|
|
|
import os
|
|
import sys
|
|
sys.path.insert(0, os.path.abspath('..'))
|
|
from pylib.time_of_day import (in_seconds, seconds, seconds_norm,
|
|
minutes, minutes_norm, hours, hours_norm, days, days_norm,
|
|
transform)
|
|
|
|
# tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec,
|
|
# tm_wday, tm_yday, tm_isdst
|
|
T = mktime((2000, 11, 30, 0, 10, 20, 3, 335, -1))
|
|
|
|
|
|
class TestTimeOfDay(unittest.TestCase):
|
|
|
|
def test_in_seconds(self):
|
|
"""test in_seconds"""
|
|
t = in_seconds(T)
|
|
self.assertEqual(t, 975539420.0)
|
|
|
|
def test_seconds(self):
|
|
"""test seconds"""
|
|
t = seconds(T)
|
|
self.assertEqual(t, 20.0)
|
|
|
|
def test_seconds_norm(self):
|
|
"""test seconds_norm"""
|
|
t = seconds_norm(T)
|
|
self.assertEqual(t, 20.0/60) # 0.3333333333333333
|
|
|
|
def test_minutes(self):
|
|
"""test minutes"""
|
|
t = minutes(T)
|
|
self.assertEqual(t, T/60%60) # 10.333333333954215
|
|
|
|
def test_minutes_norm(self):
|
|
"""test minutes_norm"""
|
|
t = minutes_norm(T)
|
|
self.assertEqual(t, T/60%60/60) # 0.17222222223257025
|
|
|
|
def test_hours(self):
|
|
"""test hours"""
|
|
t = hours(T)
|
|
self.assertEqual(t, T/60/60%24) # 23.172222222259734
|
|
|
|
def test_hours_norm(self):
|
|
"""test hours_norm"""
|
|
t = hours_norm(T)
|
|
self.assertEqual(t, T/60/60%24/24) # 0.9655092592608222
|
|
|
|
def test_days(self):
|
|
"""test days"""
|
|
t = days(T)
|
|
self.assertEqual(t, T/60/60/24%365.2425) # 333.69050925926
|
|
|
|
def test_days_norm(self):
|
|
"""test days_norm"""
|
|
t = days_norm(T)
|
|
# 0.9136135834664915
|
|
self.assertEqual(t, T/60/60/24%365.2425/365.2425)
|
|
|
|
def test_transform_minutes(self):
|
|
"""test transform minutes"""
|
|
min_norm = minutes_norm(T)
|
|
x_len = 30
|
|
x_offset = -8
|
|
x_pos = transform(min_norm, x_len, x_offset)
|
|
# -2.8333333330228925
|
|
self.assertEqual(x_pos, min_norm*x_len + x_offset)
|
|
|
|
def test_transform_hours(self):
|
|
"""test transform hours"""
|
|
h_norm = hours_norm(T)
|
|
y_len = 20
|
|
y_offset = -10
|
|
y_pos = transform(h_norm, y_len, y_offset)
|
|
# 9.310185185216444
|
|
self.assertEqual(y_pos, h_norm*y_len + y_offset)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|