diff options
author | jaseg <git@jaseg.de> | 2021-06-06 13:25:45 +0200 |
---|---|---|
committer | jaseg <git@jaseg.de> | 2021-06-06 13:25:45 +0200 |
commit | 5a5ba2b709f01b2100cd767a25a41737541ad53c (patch) | |
tree | 6362ca960945e08d4a77b7f059e971e6099217c9 /gerber/tests/test_rs274x.py | |
parent | 8bad573131e4c91782425d81a141dd656b622d7b (diff) | |
parent | 72257258edf16cbda691483ef1fa722192ac0d38 (diff) | |
download | gerbonara-5a5ba2b709f01b2100cd767a25a41737541ad53c.tar.gz gerbonara-5a5ba2b709f01b2100cd767a25a41737541ad53c.tar.bz2 gerbonara-5a5ba2b709f01b2100cd767a25a41737541ad53c.zip |
Graft pcb-tools upstream onto gerbonara tree
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 |