|
1
|
|
|
# -*- coding: utf-8 -*- |
|
2
|
|
|
|
|
3
|
|
|
import pytest |
|
4
|
|
|
# import mock |
|
5
|
|
|
|
|
6
|
|
|
from .enums import OptimizationStateEnum |
|
7
|
|
|
from .enums import TravelModeEnum |
|
8
|
|
|
|
|
9
|
|
|
|
|
10
|
|
|
class TestPEnum(object): |
|
11
|
|
|
|
|
12
|
|
|
@pytest.mark.parametrize('value, exp', [ |
|
13
|
|
|
('', []), |
|
14
|
|
|
([], []), |
|
15
|
|
|
|
|
16
|
|
|
('3', [OptimizationStateEnum.OPTIMIZING]), |
|
17
|
|
|
('3,4', [OptimizationStateEnum.OPTIMIZING, OptimizationStateEnum.OPTIMIZED]), |
|
18
|
|
|
|
|
19
|
|
|
(u'3', [OptimizationStateEnum.OPTIMIZING]), |
|
20
|
|
|
(u'3,4', [OptimizationStateEnum.OPTIMIZING, OptimizationStateEnum.OPTIMIZED]), |
|
21
|
|
|
|
|
22
|
|
|
(3, [OptimizationStateEnum.OPTIMIZING]), |
|
23
|
|
|
([3], [OptimizationStateEnum.OPTIMIZING]), |
|
24
|
|
|
([3, 4], [OptimizationStateEnum.OPTIMIZING, OptimizationStateEnum.OPTIMIZED]), |
|
25
|
|
|
|
|
26
|
|
|
(['3'], [OptimizationStateEnum.OPTIMIZING]), |
|
27
|
|
|
(['3', '4'], [OptimizationStateEnum.OPTIMIZING, OptimizationStateEnum.OPTIMIZED]), |
|
28
|
|
|
|
|
29
|
|
|
(OptimizationStateEnum.OPTIMIZING, [OptimizationStateEnum.OPTIMIZING]), |
|
30
|
|
|
([OptimizationStateEnum.OPTIMIZING], [OptimizationStateEnum.OPTIMIZING]), |
|
31
|
|
|
( |
|
32
|
|
|
[OptimizationStateEnum.OPTIMIZING, OptimizationStateEnum.OPTIMIZED], |
|
33
|
|
|
[OptimizationStateEnum.OPTIMIZING, OptimizationStateEnum.OPTIMIZED] |
|
34
|
|
|
), |
|
35
|
|
|
]) |
|
36
|
|
|
def test_parse_many(self, value, exp): |
|
37
|
|
|
act = OptimizationStateEnum.parse_many(value) |
|
38
|
|
|
assert act == exp |
|
39
|
|
|
|
|
40
|
|
|
@pytest.mark.parametrize('value, exp', [ |
|
41
|
|
|
('Walking', [TravelModeEnum.WALKING]), |
|
42
|
|
|
('Walking,Trucking', [TravelModeEnum.WALKING, TravelModeEnum.TRUCKING]), |
|
43
|
|
|
|
|
44
|
|
|
(u'Walking', [TravelModeEnum.WALKING]), |
|
45
|
|
|
(u'Walking,Trucking', [TravelModeEnum.WALKING, TravelModeEnum.TRUCKING]), |
|
46
|
|
|
|
|
47
|
|
|
(['Walking'], [TravelModeEnum.WALKING]), |
|
48
|
|
|
(['Walking', 'Trucking'], [TravelModeEnum.WALKING, TravelModeEnum.TRUCKING]), |
|
49
|
|
|
|
|
50
|
|
|
([u'Walking'], [TravelModeEnum.WALKING]), |
|
51
|
|
|
([u'Walking', u'Trucking'], [TravelModeEnum.WALKING, TravelModeEnum.TRUCKING]), |
|
52
|
|
|
]) |
|
53
|
|
|
def test_parse_many_(self, value, exp): |
|
54
|
|
|
act = TravelModeEnum.parse_many(value) |
|
55
|
|
|
assert act == exp |
|
56
|
|
|
|