9
9
10
10
_logger = logging .getLogger (__name__ )
11
11
try :
12
- from stdnum import damm , luhn , verhoeff
12
+ from stdnum import damm , ean , luhn , verhoeff
13
13
from stdnum .iso7064 import mod_11_2 , mod_11_10 , mod_37_2 , mod_37_36 , mod_97_10
14
14
except (OSError , ImportError ) as err :
15
15
_logger .debug (err )
16
16
17
17
18
18
class TestSequenceCheckDigit (common .TransactionCase ):
19
- def get_sequence (self , method ):
19
+ def get_sequence (self , method , padding = "5" , prefix = "" ):
20
20
return self .env ["ir.sequence" ].create (
21
21
{
22
22
"name" : "Test sequence" ,
23
23
"implementation" : "standard" ,
24
24
"check_digit_formula" : method ,
25
- "padding" : "5" ,
25
+ "padding" : padding ,
26
+ "prefix" : prefix ,
26
27
}
27
28
)
28
29
@@ -34,6 +35,10 @@ def test_null(self):
34
35
sequence = self .get_sequence (None )
35
36
self .assertEqual ("00001" , sequence .next_by_id ())
36
37
38
+ def test_ean (self ):
39
+ sequence = self .get_sequence ("ean" , padding = "9" , prefix = "021" )
40
+ self .assertTrue (ean .validate (sequence .next_by_id ()))
41
+
37
42
def test_luhn (self ):
38
43
sequence = self .get_sequence ("luhn" )
39
44
self .assertTrue (luhn .validate (sequence .next_by_id ()))
0 commit comments