summaryrefslogtreecommitdiff
path: root/gerbonara/gerber/tests/test_common.py
blob: e4c023c4ec2696e88f7c60e0c121fba067d8ffec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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, "r") as f:
        ncdrill = loads(f.read())
    with open(TOP_COPPER_FILE, "r") 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__)