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
|
|
|
|