@@ -66,51 +66,133 @@ defmodule BarcodeGeneratorTest do
66
66
67
67
describe "BarcodeGenerator.generate/2" do
68
68
test "generates valid barcodes" do
69
+ # GTIN-12
70
+ barcodes = BarcodeGenerator . generate ( 619_659_161_415 , 619_659_161_509 )
71
+
72
+ assert length ( barcodes ) == 10
73
+ assert Enum . all? ( barcodes , & BarcodeGenerator . valid? / 1 )
74
+
75
+ # GTIN-13
69
76
barcodes = BarcodeGenerator . generate ( 6_291_041_500_200 , 6_291_041_500_299 )
70
77
71
78
assert length ( barcodes ) == 10
72
79
assert Enum . all? ( barcodes , & BarcodeGenerator . valid? / 1 )
80
+
81
+ # GTIN-14
82
+ barcodes = BarcodeGenerator . generate ( 62_910_415_000_200 , 62_910_415_000_299 )
83
+
84
+ assert length ( barcodes ) == 10
85
+ assert Enum . all? ( barcodes , & BarcodeGenerator . valid? / 1 )
73
86
end
74
87
75
88
test "handles stack-exceeding barcodes" do
89
+ # GTIN-12
90
+ barcodes = BarcodeGenerator . generate ( 619_659_161_415 , 619_659_162_509 )
91
+
92
+ assert length ( barcodes ) == 110
93
+ assert Enum . all? ( barcodes , & BarcodeGenerator . valid? / 1 )
94
+
95
+ # GTIN-13
76
96
barcodes = BarcodeGenerator . generate ( 6_291_041_500_200 , 6_291_041_501_299 )
77
97
78
98
assert length ( barcodes ) == 110
79
99
assert Enum . all? ( barcodes , & BarcodeGenerator . valid? / 1 )
100
+
101
+ # GTIN-14
102
+ barcodes = BarcodeGenerator . generate ( 62_910_415_000_200 , 62_910_415_001_299 )
103
+
104
+ assert length ( barcodes ) == 110
105
+ assert Enum . all? ( barcodes , & BarcodeGenerator . valid? / 1 )
80
106
end
81
107
end
82
108
83
109
describe "BarcodeGenerator.generate_stream/2" do
84
110
test "generates valid barcodes" do
111
+ # GTIN-12
112
+ barcode_stream = BarcodeGenerator . generate_stream ( 619_659_161_415 , 619_659_161_509 )
113
+
114
+ assert Enum . count ( barcode_stream ) == 10
115
+ assert Enum . all? ( barcode_stream , & BarcodeGenerator . valid? / 1 )
116
+
117
+ # GTIN-13
85
118
barcode_stream = BarcodeGenerator . generate_stream ( 6_291_041_500_200 , 6_291_041_500_299 )
86
119
87
120
assert Enum . count ( barcode_stream ) == 10
88
121
assert Enum . all? ( barcode_stream , & BarcodeGenerator . valid? / 1 )
122
+
123
+ # GTIN-14
124
+ barcode_stream = BarcodeGenerator . generate_stream ( 62_910_415_000_200 , 62_910_415_000_299 )
125
+
126
+ assert Enum . count ( barcode_stream ) == 10
127
+ assert Enum . all? ( barcode_stream , & BarcodeGenerator . valid? / 1 )
89
128
end
90
129
91
130
test "handles stack-exceeding barcodes" do
131
+ # GTIN-12
132
+ barcode_stream = BarcodeGenerator . generate_stream ( 619_659_161_415 , 619_659_162_509 )
133
+
134
+ assert Enum . count ( barcode_stream ) == 110
135
+ assert Enum . all? ( barcode_stream , & BarcodeGenerator . valid? / 1 )
136
+
137
+ # GTIN-13
92
138
barcode_stream = BarcodeGenerator . generate_stream ( 6_291_041_500_200 , 6_291_041_501_299 )
93
139
94
140
assert Enum . count ( barcode_stream ) == 110
95
141
assert Enum . all? ( barcode_stream , & BarcodeGenerator . valid? / 1 )
142
+
143
+ # GTIN-14
144
+ barcode_stream = BarcodeGenerator . generate_stream ( 62_910_415_000_200 , 62_910_415_001_299 )
145
+
146
+ assert Enum . count ( barcode_stream ) == 110
147
+ assert Enum . all? ( barcode_stream , & BarcodeGenerator . valid? / 1 )
96
148
end
97
149
end
98
150
99
151
describe "BarcodeGenerator.generate_flow/2" do
100
152
test "generates valid barcodes" do
153
+ # GTIN-12
154
+ barcode_flow = BarcodeGenerator . generate_flow ( 619_659_161_415 , 619_659_161_509 )
155
+
156
+ assert % Flow { } = barcode_flow
157
+ assert Enum . count ( barcode_flow ) == 10
158
+ assert Enum . all? ( barcode_flow , & BarcodeGenerator . valid? / 1 )
159
+
160
+ # GTIN-13
101
161
barcode_flow = BarcodeGenerator . generate_flow ( 6_291_041_500_200 , 6_291_041_500_299 )
102
162
103
163
assert % Flow { } = barcode_flow
104
164
assert Enum . count ( barcode_flow ) == 10
105
165
assert Enum . all? ( barcode_flow , & BarcodeGenerator . valid? / 1 )
166
+
167
+ # GTIN-14
168
+ barcode_flow = BarcodeGenerator . generate_flow ( 62_910_415_000_200 , 62_910_415_000_299 )
169
+
170
+ assert % Flow { } = barcode_flow
171
+ assert Enum . count ( barcode_flow ) == 10
172
+ assert Enum . all? ( barcode_flow , & BarcodeGenerator . valid? / 1 )
106
173
end
107
174
108
175
test "handles stack-exceeding barcodes" do
176
+ # GTIN-12
177
+ barcode_flow = BarcodeGenerator . generate_flow ( 619_659_161_415 , 619_659_162_509 )
178
+
179
+ assert % Flow { } = barcode_flow
180
+ assert Enum . count ( barcode_flow ) == 110
181
+ assert Enum . all? ( barcode_flow , & BarcodeGenerator . valid? / 1 )
182
+
183
+ # GTIN-13
109
184
barcode_flow = BarcodeGenerator . generate_flow ( 6_291_041_500_200 , 6_291_041_501_299 )
110
185
111
186
assert % Flow { } = barcode_flow
112
187
assert Enum . count ( barcode_flow ) == 110
113
188
assert Enum . all? ( barcode_flow , & BarcodeGenerator . valid? / 1 )
189
+
190
+ # GTIN-14
191
+ barcode_flow = BarcodeGenerator . generate_flow ( 62_910_415_000_200 , 62_910_415_001_299 )
192
+
193
+ assert % Flow { } = barcode_flow
194
+ assert Enum . count ( barcode_flow ) == 110
195
+ assert Enum . all? ( barcode_flow , & BarcodeGenerator . valid? / 1 )
114
196
end
115
197
end
116
198
end
0 commit comments