summaryrefslogtreecommitdiff
path: root/gerber/tests/test_layers.py
diff options
context:
space:
mode:
authorjaseg <git@jaseg.de>2021-06-13 15:00:17 +0200
committerjaseg <git@jaseg.de>2021-06-13 15:00:17 +0200
commit4eb0e063bcd34c21b737023aa6ed5baed80658d1 (patch)
tree3a56ef7d05f4f64cde930f2432119986e4aab49d /gerber/tests/test_layers.py
parent889ea37d9b66cbfb7a61795c7750b9f4311faa3f (diff)
downloadgerbonara-4eb0e063bcd34c21b737023aa6ed5baed80658d1.tar.gz
gerbonara-4eb0e063bcd34c21b737023aa6ed5baed80658d1.tar.bz2
gerbonara-4eb0e063bcd34c21b737023aa6ed5baed80658d1.zip
Repo re-org, make gerberex tests run
Diffstat (limited to 'gerber/tests/test_layers.py')
-rw-r--r--gerber/tests/test_layers.py158
1 files changed, 0 insertions, 158 deletions
diff --git a/gerber/tests/test_layers.py b/gerber/tests/test_layers.py
deleted file mode 100644
index 2178787..0000000
--- a/gerber/tests/test_layers.py
+++ /dev/null
@@ -1,158 +0,0 @@
-#! /usr/bin/env python
-# -*- coding: utf-8 -*-
-
-# copyright 2016 Hamilton Kibbe <ham@hamiltonkib.be>
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-
-# http://www.apache.org/licenses/LICENSE-2.0
-
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-import os
-
-from ..layers import *
-from ..common import read
-
-NCDRILL_FILE = os.path.join(os.path.dirname(__file__), "resources/ncdrill.DRD")
-NETLIST_FILE = os.path.join(os.path.dirname(__file__), "resources/ipc-d-356.ipc")
-COPPER_FILE = os.path.join(os.path.dirname(__file__), "resources/top_copper.GTL")
-
-
-def test_guess_layer_class():
- """ Test layer type inferred correctly from filename
- """
-
- # Add any specific test cases here (filename, layer_class)
- test_vectors = [
- (None, "unknown"),
- ("NCDRILL.TXT", "unknown"),
- ("example_board.gtl", "top"),
- ("exampmle_board.sst", "topsilk"),
- ("ipc-d-356.ipc", "ipc_netlist"),
- ]
-
- for hint in hints:
- for ext in hint.ext:
- assert hint.layer == guess_layer_class("board.{}".format(ext))
- for name in hint.name:
- assert hint.layer == guess_layer_class("{}.pho".format(name))
-
- for filename, layer_class in test_vectors:
- assert layer_class == guess_layer_class(filename)
-
-
-def test_guess_layer_class_regex():
- """ Test regular expressions for layer matching
- """
-
- # Add any specific test case (filename, layer_class)
- test_vectors = [("test - top copper.gbr", "top"), ("test - copper top.gbr", "top")]
-
- # Add custom regular expressions
- layer_hints = [
- Hint(
- layer="top",
- ext=[],
- name=[],
- regex=r"(.*)(\scopper top|\stop copper).gbr",
- content=[],
- )
- ]
- hints.extend(layer_hints)
-
- for filename, layer_class in test_vectors:
- assert layer_class == guess_layer_class(filename)
-
-
-def test_guess_layer_class_by_content():
- """ Test layer class by checking content
- """
-
- expected_layer_class = "bottom"
- filename = os.path.join(
- os.path.dirname(__file__), "resources/example_guess_by_content.g0"
- )
-
- layer_hints = [
- Hint(
- layer="bottom",
- ext=[],
- name=[],
- regex="",
- content=["G04 Layer name: Bottom"],
- )
- ]
- hints.extend(layer_hints)
-
- assert expected_layer_class == guess_layer_class_by_content(filename)
-
-
-def test_sort_layers():
- """ Test layer ordering
- """
- layers = [
- PCBLayer(layer_class="drawing"),
- PCBLayer(layer_class="drill"),
- PCBLayer(layer_class="bottompaste"),
- PCBLayer(layer_class="bottomsilk"),
- PCBLayer(layer_class="bottommask"),
- PCBLayer(layer_class="bottom"),
- PCBLayer(layer_class="internal"),
- PCBLayer(layer_class="top"),
- PCBLayer(layer_class="topmask"),
- PCBLayer(layer_class="topsilk"),
- PCBLayer(layer_class="toppaste"),
- PCBLayer(layer_class="outline"),
- ]
-
- layer_order = [
- "outline",
- "toppaste",
- "topsilk",
- "topmask",
- "top",
- "internal",
- "bottom",
- "bottommask",
- "bottomsilk",
- "bottompaste",
- "drill",
- "drawing",
- ]
- bottom_order = list(reversed(layer_order[:10])) + layer_order[10:]
- assert [l.layer_class for l in sort_layers(layers)] == layer_order
- assert [l.layer_class for l in sort_layers(layers, from_top=False)] == bottom_order
-
-
-def test_PCBLayer_from_file():
- layer = PCBLayer.from_cam(read(COPPER_FILE))
- assert isinstance(layer, PCBLayer)
- layer = PCBLayer.from_cam(read(NCDRILL_FILE))
- assert isinstance(layer, DrillLayer)
- layer = PCBLayer.from_cam(read(NETLIST_FILE))
- assert isinstance(layer, PCBLayer)
- assert layer.layer_class == "ipc_netlist"
-
-
-def test_PCBLayer_bounds():
- source = read(COPPER_FILE)
- layer = PCBLayer.from_cam(source)
- assert source.bounds == layer.bounds
-
-
-def test_DrillLayer_from_cam():
- no_exceptions = True
- try:
- layer = DrillLayer.from_cam(read(NCDRILL_FILE))
- assert isinstance(layer, DrillLayer)
- except:
- no_exceptions = False
- assert no_exceptions