-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathtest_utils.py
More file actions
94 lines (62 loc) · 2.01 KB
/
test_utils.py
File metadata and controls
94 lines (62 loc) · 2.01 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
"""
This file is part of pysofar: A client for interfacing with Sofar Oceans Spotter API
Contents: Tests for testing utility functions
Copyright (C) 2019
Sofar Ocean Technologies
Authors: Mike Sosa
"""
from datetime import datetime
from pysofar.tools import parse_date, time_stamp_to_epoch
def test_time_stamp_to_epoch():
ts = '1985-11-15T23:56:12.000Z'
epoch = time_stamp_to_epoch(ts)
assert isinstance(epoch, int)
dt = parse_date(epoch)
assert dt == ts
def test_parse_date_string():
# test iso representation parses correctly
ts = '1985-11-15T12:34:56.000Z'
dt = parse_date(ts)
assert dt is not None
assert dt == '1985-11-15T12:34:56.000Z'
def test_parse_date_string_only_days():
# test Y-M-D parses
ts = '1985-11-15'
dt = parse_date(ts)
assert dt is not None
assert dt == '1985-11-15T00:00:00.000Z'
def test_parse_date_string_no_milliseconds():
# test Y-M-DTH:M:S parses
ts = '1985-11-15T12:34:56'
dt = parse_date(ts)
assert dt is not None
assert dt == '1985-11-15T12:34:56.000Z'
def test_parse_date_string_no_utc():
# test Y-M-DTH:M:S parses
ts = '1985-11-15T12:34:56.000'
dt = parse_date(ts)
assert dt is not None
assert dt == '1985-11-15T12:34:56.000Z'
def test_parse_date_string_utc_offset():
# test Y-M-DTH:M:S parses
ts = '1985-11-15T12:34:56.000+00:00'
dt = parse_date(ts)
assert dt is not None
assert dt == '1985-11-15T12:34:56.000Z'
def test_parse_date_datetime():
# test passing in a datetime works
ts = datetime(1997, 2, 16, 5, 25)
dt = parse_date(ts)
assert dt is not None
assert dt == '1997-02-16T05:25:00.000Z'
def test_parse_date_datetime_aware():
# test passing in aware datetime
from datetime import timezone
ts = datetime.now(tz=timezone.utc)
dt = parse_date(ts)
assert dt is not None
def test_parse_date_datetime_unaware():
# passing in another datetime func
ts = datetime.utcnow()
dt = parse_date(ts)
assert dt is not None