diff options
Diffstat (limited to 'gerber/tests/test_rs274x.py')
-rw-r--r-- | gerber/tests/test_rs274x.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/gerber/tests/test_rs274x.py b/gerber/tests/test_rs274x.py new file mode 100644 index 0000000..e7baf11 --- /dev/null +++ b/gerber/tests/test_rs274x.py @@ -0,0 +1,55 @@ +#! /usr/bin/env python +# -*- coding: utf-8 -*- + +# Author: Hamilton Kibbe <ham@hamiltonkib.be> +import os +import pytest + +from ..rs274x import read, GerberFile + + +TOP_COPPER_FILE = os.path.join(os.path.dirname(__file__), "resources/top_copper.GTL") + +MULTILINE_READ_FILE = os.path.join( + os.path.dirname(__file__), "resources/multiline_read.ger" +) + + +def test_read(): + top_copper = read(TOP_COPPER_FILE) + assert isinstance(top_copper, GerberFile) + + +def test_multiline_read(): + multiline = read(MULTILINE_READ_FILE) + assert isinstance(multiline, GerberFile) + assert 10 == len(multiline.statements) + + +def test_comments_parameter(): + top_copper = read(TOP_COPPER_FILE) + assert top_copper.comments[0] == "This is a comment,:" + + +def test_size_parameter(): + top_copper = read(TOP_COPPER_FILE) + size = top_copper.size + pytest.approx(size[0], 2.256900, 6) + pytest.approx(size[1], 1.500000, 6) + + +def test_conversion(): + top_copper = read(TOP_COPPER_FILE) + assert top_copper.units == "inch" + top_copper_inch = read(TOP_COPPER_FILE) + top_copper.to_metric() + for statement in top_copper_inch.statements: + statement.to_metric() + for primitive in top_copper_inch.primitives: + primitive.to_metric() + assert top_copper.units == "metric" + for i, m in zip(top_copper.statements, top_copper_inch.statements): + assert i == m + + for i, m in zip(top_copper.primitives, top_copper_inch.primitives): + assert i == m |