9
9
10
10
class TestBaseField (unittest .TestCase ):
11
11
12
- def test_should_retornar_valor_no_analizar (self ):
12
+ def test_should_return_value_on_parse (self ):
13
13
s = "02/01/2013 10:21:51 COO:022734"
14
14
field = BaseField (r'COO:(\d+)' )
15
15
value = field .parse_block (s )
16
16
self .assertEqual (value , '022734' )
17
17
18
- def test_should_retornar_none_sem_search (self ):
18
+ def test_should_return_none_without_search (self ):
19
19
s = "02/01/2013 10:21:51 COO:022734"
20
20
field = BaseField ()
21
21
value = field .parse_block (s )
22
22
self .assertEqual (value , None )
23
23
24
- def test_should_aceitar_callback (self ):
24
+ def test_should_accept_callback (self ):
25
25
s = "02/01/2013 10:21:51 COO:022734"
26
26
27
- def dobro (value ):
27
+ def double (value ):
28
28
return int (value ) * 2
29
29
30
- field = BaseField (r'COO:(\d+)' , input_processor = dobro )
30
+ field = BaseField (r'COO:(\d+)' , input_processor = double )
31
31
value = field .parse_block (s )
32
32
self .assertEqual (value , 45468 ) # 45468 = 2 x 22734
33
33
34
- def test_should_recusar_callback_invalido (self ):
34
+ def test_should_refuse_invalid_callback (self ):
35
35
self .assertRaises (
36
36
TypeError ,
37
- lambda : BaseField (r'COO:(\d+)' , input_processor = 'pegadinha ' )
37
+ lambda : BaseField (r'COO:(\d+)' , input_processor = 'not a callcabk ' )
38
38
)
39
39
40
- def test_should_utilizar_grupo_quando_informado (self ):
40
+ def test_should_return_groups (self ):
41
41
s = "Contador de Reduções Z: 1246"
42
42
field = BaseField (r'Contador de Reduç(ão|ões) Z:\s*(\d+)' , groups = 1 ,
43
43
input_processor = int )
@@ -46,43 +46,57 @@ def test_should_utilizar_grupo_quando_informado(self):
46
46
47
47
48
48
class TestIntegerField (unittest .TestCase ):
49
- def test_should_obter_valor (self ):
49
+ def test_should_return_value (self ):
50
50
s = "02/01/2013 10:21:51 COO:022734"
51
51
field = IntegerField (r'COO:(\d+)' )
52
52
value = field .parse_block (s )
53
53
self .assertEqual (value , 22734 )
54
54
55
55
56
56
class TestFloatField (unittest .TestCase ):
57
- def test_should_obter_valor (self ):
57
+ def test_should_return_value (self ):
58
58
s = "VENDA BRUTA DIÁRIA: 793.00"
59
59
field = FloatField (r'VENDA BRUTA DIÁRIA:\s+(\d+\.\d+)' )
60
60
value = field .parse_block (s )
61
61
self .assertEqual (value , 793.0 )
62
62
63
- def test_should_obter_valor_com_separador_de_milhar (self ):
63
+ def test_should_return_value_with_thousand_separator (self ):
64
64
s = "VENDA BRUTA DIÁRIA: 10,036.70"
65
65
field = FloatField (r'VENDA BRUTA DIÁRIA:\s+([\d,]+.\d+)' )
66
66
value = field .parse_block (s )
67
67
self .assertEqual (value , 10036.7 )
68
68
69
+ def test_should_return_value_with_custom_thousand_separator (self ):
70
+ s = "VENDA BRUTA: 10#036.70"
71
+ field = FloatField (r'VENDA BRUTA:\s+([\d#]+.\d+)' ,
72
+ thousand_separator = '#' )
73
+ value = field .parse_block (s )
74
+ self .assertEqual (value , 10036.7 )
75
+
76
+ def test_should_return_value_with_custom_decimal_separator (self ):
77
+ s = "VENDA BRUTA: 10,036#70"
78
+ field = FloatField (r'VENDA BRUTA:\s+([\d,]+#\d+)' ,
79
+ decimal_separator = '#' )
80
+ value = field .parse_block (s )
81
+ self .assertEqual (value , 10036.7 )
82
+
69
83
70
84
class TestBRFloatField (unittest .TestCase ):
71
- def test_should_obter_valor (self ):
85
+ def test_should_return_value (self ):
72
86
s = "VENDA BRUTA DIÁRIA: 793,00"
73
87
field = BRFloatField (r'VENDA BRUTA DIÁRIA:\s+(\d+,\d+)' )
74
88
value = field .parse_block (s )
75
89
self .assertEqual (value , 793.0 )
76
90
77
- def test_should_obter_valor_com_separador_de_milhar (self ):
91
+ def test_should_return_value_with_thousand_separator (self ):
78
92
s = "VENDA BRUTA DIÁRIA: 10.036,70"
79
93
field = BRFloatField (r'VENDA BRUTA DIÁRIA:\s+([\d.]+,\d+)' )
80
94
value = field .parse_block (s )
81
95
self .assertEqual (value , 10036.7 )
82
96
83
97
84
98
class TestStringField (unittest .TestCase ):
85
- def test_should_obter_valor (self ):
99
+ def test_should_return_value (self ):
86
100
s = "1 Dinheiro 0,00"
87
101
field = StringField (r'\d+\s+(\w[^\d]+)' )
88
102
value = field .parse_block (s )
@@ -106,7 +120,7 @@ def test_should_retornar_falso_ao_finalizar_quando_regex_nao_bate(self):
106
120
107
121
108
122
class TestDateField (unittest .TestCase ):
109
- def test_should_obter_valor (self ):
123
+ def test_should_return_value (self ):
110
124
s = "02/01/2013 10:21:51 COO:022734"
111
125
field = DateField (r'^(\d+/\d+/\d+)' )
112
126
value = field .parse_block (s )
@@ -122,7 +136,7 @@ def test_should_obter_respeitando_format_string(self):
122
136
123
137
124
138
class TestDateTimeField (unittest .TestCase ):
125
- def test_should_obter_valor (self ):
139
+ def test_should_return_value (self ):
126
140
s = "02/01/2013 10:21:51 COO:022734"
127
141
field = DateTimeField (r'^(\d+/\d+/\d+ \d+:\d+:\d+)' )
128
142
value = field .parse_block (s )
0 commit comments