File: test_pickle.py

package info (click to toggle)
dateparser 1.2.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,196 kB
  • sloc: python: 52,721; makefile: 155; sh: 15
file content (34 lines) | stat: -rw-r--r-- 1,247 bytes parent folder | download | duplicates (2)
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
import pickle
from datetime import datetime

from dateparser import parse
from dateparser.timezone_parser import StaticTzInfo
from tests import BaseTestCase


class TestPickle(BaseTestCase):
    def test_pickling_basic_parsed_object(self):
        now = parse("now")
        self.assertIsInstance(now, datetime)
        pickle_dumps = pickle.dumps(now)
        self.assertIsInstance(pickle_dumps, bytes)

    def test_pickling_parsed_object_with_tz(self):
        now_in_utc = parse("now in UTC")
        self.assertIsInstance(now_in_utc, datetime)
        self.assertIsInstance(now_in_utc.tzinfo, StaticTzInfo)
        pickle_dumps = pickle.dumps(now_in_utc)
        self.assertIsInstance(pickle_dumps, bytes)

    def test_unpickling_basic_parsed_object(self):
        now = parse("now")
        pickle_dumps = pickle.dumps(now)
        pickle_loads = pickle.loads(pickle_dumps)
        self.assertIsInstance(pickle_loads, datetime)

    def test_unpickling_parsed_object_with_tz(self):
        now_in_utc = parse("now in UTC")
        pickle_dumps = pickle.dumps(now_in_utc)
        pickle_loads = pickle.loads(pickle_dumps)
        self.assertIsInstance(pickle_loads, datetime)
        self.assertIsInstance(pickle_loads.tzinfo, StaticTzInfo)