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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# Author: Hamilton Kibbe <ham@hamiltonkib.be>
from .tests import *
from ..gerber_statements import *
def test_FSParamStmt_factory():
""" Test FSParamStruct factory correctly handles parameters
"""
stmt = {'param': 'FS', 'zero': 'L', 'notation': 'A', 'x': '27'}
fs = FSParamStmt.from_dict(stmt)
assert_equal(fs.param, 'FS')
assert_equal(fs.zero_suppression, 'leading')
assert_equal(fs.notation, 'absolute')
assert_equal(fs.format, (2, 7))
stmt = {'param': 'FS', 'zero': 'T', 'notation': 'I', 'x': '27'}
fs = FSParamStmt.from_dict(stmt)
assert_equal(fs.param, 'FS')
assert_equal(fs.zero_suppression, 'trailing')
assert_equal(fs.notation, 'incremental')
assert_equal(fs.format, (2, 7))
def test_FSParamStmt_dump():
""" Test FSParamStmt to_gerber()
"""
stmt = {'param': 'FS', 'zero': 'L', 'notation': 'A', 'x': '27'}
fs = FSParamStmt.from_dict(stmt)
assert_equal(fs.to_gerber(), '%FSLAX27Y27*%')
stmt = {'param': 'FS', 'zero': 'T', 'notation': 'I', 'x': '25'}
fs = FSParamStmt.from_dict(stmt)
assert_equal(fs.to_gerber(), '%FSTIX25Y25*%')
def test_MOParamStmt_factory():
""" Test MOParamStruct factory correctly handles parameters
"""
stmt = {'param': 'MO', 'mo': 'IN'}
mo = MOParamStmt.from_dict(stmt)
assert_equal(mo.param, 'MO')
assert_equal(mo.mode, 'inch')
stmt = {'param': 'MO', 'mo': 'MM'}
mo = MOParamStmt.from_dict(stmt)
assert_equal(mo.param, 'MO')
assert_equal(mo.mode, 'metric')
def test_MOParamStmt_dump():
""" Test MOParamStmt to_gerber()
"""
stmt = {'param': 'MO', 'mo': 'IN'}
mo = MOParamStmt.from_dict(stmt)
assert_equal(mo.to_gerber(), '%MOIN*%')
stmt = {'param': 'MO', 'mo': 'MM'}
mo = MOParamStmt.from_dict(stmt)
assert_equal(mo.to_gerber(), '%MOMM*%')
def test_IPParamStmt_factory():
""" Test IPParamStruct factory correctly handles parameters
"""
stmt = {'param': 'IP', 'ip': 'POS'}
ip = IPParamStmt.from_dict(stmt)
assert_equal(ip.ip, 'positive')
stmt = {'param': 'IP', 'ip': 'NEG'}
ip = IPParamStmt.from_dict(stmt)
assert_equal(ip.ip, 'negative')
def test_IPParamStmt_dump():
""" Test IPParamStmt to_gerber()
"""
stmt = {'param': 'IP', 'ip': 'POS'}
ip = IPParamStmt.from_dict(stmt)
assert_equal(ip.to_gerber(), '%IPPOS*%')
stmt = {'param': 'IP', 'ip': 'NEG'}
ip = IPParamStmt.from_dict(stmt)
assert_equal(ip.to_gerber(), '%IPNEG*%')
def test_OFParamStmt_dump():
""" Test OFParamStmt to_gerber()
"""
stmt = {'param': 'OF', 'a': '0.1234567', 'b': '0.1234567'}
of = OFParamStmt.from_dict(stmt)
assert_equal(of.to_gerber(), '%OFA0.123456B0.123456*%')
|