Completed
Pull Request — master (#867)
by Joe
02:09
created

tests.utils.CachedObjectTestCase   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 14
Duplicated Lines 0 %
Metric Value
dl 0
loc 14
rs 10
wmc 2
1
from unittest import TestCase
2
3
from pandas import Timestamp, Timedelta
4
5
from zipline.utils.cache import CachedObject, Expired
6
7
8
class CachedObjectTestCase(TestCase):
9
10
    def test_cached_object(self):
11
        expiry = Timestamp('2014')
12
        before = expiry - Timedelta('1 minute')
13
        after = expiry + Timedelta('1 minute')
14
15
        obj = CachedObject(1, expiry)
16
17
        self.assertEqual(obj.unwrap(before), 1)
18
        self.assertEqual(obj.unwrap(expiry), 1)  # Unwrap on expiry is allowed.
19
        with self.assertRaises(Expired) as e:
20
            obj.unwrap(after)
21
        self.assertEqual(e.exception.args, (expiry,))
22