From cca66b9ec4e494c1d919bff0f71a820d8afab1fa Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:24:48 +0200 Subject: Adding upstream version 1.2.2. Signed-off-by: Daniel Baumann --- share/extensions/tests/test_render_barcode.py | 103 ++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 share/extensions/tests/test_render_barcode.py (limited to 'share/extensions/tests/test_render_barcode.py') diff --git a/share/extensions/tests/test_render_barcode.py b/share/extensions/tests/test_render_barcode.py new file mode 100644 index 0000000..e148691 --- /dev/null +++ b/share/extensions/tests/test_render_barcode.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# +# Copyright (C) 2018 Martin Owens +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA. +# +""" +Written to test the coding of generating barcodes. +""" +from collections import defaultdict + +from barcode import get_barcode +from render_barcode import Barcode + +from inkex.tester import ComparisonMixin, TestCase + + +class BarcodeBasicTest(ComparisonMixin, TestCase): + effect_class = Barcode + comparisons = [ + ("--type", "Ean2", "--text", "55"), + ("--type", "Code93", "--text", "3332222"), + ("--type", "Upce", "--text", "123456"), + ] + + +class GetBarcodeTest(TestCase): + """Test each available barcode type""" + + data = defaultdict(list) + + @classmethod + def setUpClass(cls): + with open(cls.data_file("batches/barcodes.dat"), "r") as fhl: + for line in fhl: + (btype, text, code) = line.strip().split(":", 2) + cls.data[btype].append((text, code)) + + def test_render_barcode_ian5(self): + """Barcode IAN5""" + self.barcode_test("Ean5") + + def test_render_barcode_ian8(self): + """Barcode IAN5""" + self.barcode_test("Ean8") + + def test_render_barcode_ian13(self): + """Barcode IAN5""" + self.barcode_test("Ean13") + + def test_render_barcode_upca(self): + """Barcode IAN5""" + self.barcode_test("Upca") + + def test_render_barcode_upce(self): + """Barcode UPCE""" + self.barcode_test("Upce") + + def test_render_barcode_code128(self): + """Barcode Code128""" + self.barcode_test("Code128") + + def test_render_barcode_code25i(self): + """Barcode Code25i""" + self.barcode_test("Code25i") + + def test_render_barcode_code39(self): + """Barcode Code39""" + self.barcode_test("Code39") + + def test_render_barcode_code39ext(self): + """Barcode Code39Ext""" + self.barcode_test("Code39Ext") + + def test_render_barcode_ean2(self): + """Barcode Ean2""" + self.barcode_test("Ean2") + + def test_render_barcode_royal_mail(self): + """Barcode RM4CC/RM4SCC""" + self.barcode_test("Rm4scc") + + def barcode_test(self, name): + """Base module for all barcode testing""" + + assert self.data[name.lower()], "No test data available for {}".format(name) + for datum in self.data[name.lower()]: + (text, code) = datum + coder = get_barcode(name, text=text) + code2 = coder.encode(text) + assert code == code2 -- cgit v1.2.3