Passed
Pull Request — master (#60)
by Angeline
01:04
created

TestDepAACGMV2Warning.test_gc2gd_lat()   A

Complexity

Conditions 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 6
rs 10
c 0
b 0
f 0
cc 1
nop 1
1
# -*- coding: utf-8 -*-
2
from __future__ import division, absolute_import, unicode_literals
3
4
import datetime as dt
5
import warnings
6
7
import aacgmv2
8
9
10
class TestFutureDepWarning:
11
    def setup(self):
12
        # Initialize the routine to be tested
13
        self.test_routine = None
14
        self.test_args = []
15
        self.test_kwargs = {}
16
17
    def teardown(self):
18
        del self.test_routine, self.test_args, self.test_kwargs
19
20
    def test_future_dep_warning(self):
21
        """Test the implementation of FutureWarning for dupicate routines"""
22
        if self.test_routine is None:
23
            assert True
24
        else:
25
            with warnings.catch_warnings(record=True) as wout:
26
                # Cause all warnings to always be triggered.
27
                warnings.simplefilter("always")
28
29
                # Trigger a warning.
30
                self.test_routine(*self.test_args, **self.test_kwargs)
31
32
                # Verify some things
33
                assert len(wout) == 1
34
                assert issubclass(wout[-1].category, FutureWarning)
35
                assert "Duplicate routine" in str(wout[-1].message)
36
37
38
class TestDepAACGMV2Warning(TestFutureDepWarning):
39
    def setup(self):
40
        self.dtime = dt.datetime(2015, 1, 1, 0, 0, 0)
41
        self.test_routine = None
42
        self.test_args = []
43
        self.test_kwargs = {}
44
45
    def teardown(self):
46
        del self.dtime, self.test_routine, self.test_args, self.test_kwargs
47
48
    def test_igrf_dipole_axis_warning(self):
49
        """Test future deprecation warning for igrf_dipole_axis"""
50
51
        self.test_routine = aacgmv2.deprecated.igrf_dipole_axis
52
        self.test_args = [self.dtime]
53
        self.test_future_dep_warning()
54
55
    def test_subsol_warning(self):
56
        """Test future deprecation warning for subsol"""
57
58
        self.test_routine = aacgmv2.deprecated.subsol
59
        self.test_args = [self.dtime.year, 1, 1.0]
60
        self.test_future_dep_warning()
61
62
    def test_gc2gd_lat(self):
63
        """Test future deprecation warning for gc2gd_lat"""
64
65
        self.test_routine = aacgmv2.deprecated.gc2gd_lat
66
        self.test_args = [45.0]
67
        self.test_future_dep_warning()
68