summaryrefslogtreecommitdiff
path: root/gerber/tests/test_common.py
diff options
context:
space:
mode:
authorjaseg <git@jaseg.de>2021-06-06 13:25:45 +0200
committerjaseg <git@jaseg.de>2021-06-06 13:25:45 +0200
commit5a5ba2b709f01b2100cd767a25a41737541ad53c (patch)
tree6362ca960945e08d4a77b7f059e971e6099217c9 /gerber/tests/test_common.py
parent8bad573131e4c91782425d81a141dd656b622d7b (diff)
parent72257258edf16cbda691483ef1fa722192ac0d38 (diff)
downloadgerbonara-5a5ba2b709f01b2100cd767a25a41737541ad53c.tar.gz
gerbonara-5a5ba2b709f01b2100cd767a25a41737541ad53c.tar.bz2
gerbonara-5a5ba2b709f01b2100cd767a25a41737541ad53c.zip
Graft pcb-tools upstream onto gerbonara tree
Diffstat (limited to 'gerber/tests/test_common.py')
-rw-r--r--gerber/tests/test_common.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/gerber/tests/test_common.py b/gerber/tests/test_common.py
new file mode 100644
index 0000000..a6b1264
--- /dev/null
+++ b/gerber/tests/test_common.py
@@ -0,0 +1,38 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Author: Hamilton Kibbe <ham@hamiltonkib.be>
+from ..exceptions import ParseError
+from ..common import read, loads
+from ..excellon import ExcellonFile
+from ..rs274x import GerberFile
+import os
+import pytest
+
+
+NCDRILL_FILE = os.path.join(os.path.dirname(__file__), "resources/ncdrill.DRD")
+TOP_COPPER_FILE = os.path.join(os.path.dirname(__file__), "resources/top_copper.GTL")
+
+
+def test_file_type_detection():
+ """ Test file type detection
+ """
+ ncdrill = read(NCDRILL_FILE)
+ top_copper = read(TOP_COPPER_FILE)
+ assert isinstance(ncdrill, ExcellonFile)
+ assert isinstance(top_copper, GerberFile)
+
+
+def test_load_from_string():
+ with open(NCDRILL_FILE, "rU") as f:
+ ncdrill = loads(f.read())
+ with open(TOP_COPPER_FILE, "rU") as f:
+ top_copper = loads(f.read())
+ assert isinstance(ncdrill, ExcellonFile)
+ assert isinstance(top_copper, GerberFile)
+
+
+def test_file_type_validation():
+ """ Test file format validation
+ """
+ pytest.raises(ParseError, read, __file__)