summaryrefslogtreecommitdiff
path: root/tests/expects
diff options
context:
space:
mode:
authoropiopan <opiopan@gmail.com>2019-04-07 22:22:33 +0900
committeropiopan <opiopan@gmail.com>2019-04-07 22:22:33 +0900
commite3c59e39cf9bc64ce9d76c324b82956a65515f16 (patch)
tree96a87bab252420c14d955ad4c1d59a5101b77cf4 /tests/expects
parentd53293a609a83aa945af6864285b90d36bcbdd69 (diff)
downloadgerbonara-e3c59e39cf9bc64ce9d76c324b82956a65515f16.tar.gz
gerbonara-e3c59e39cf9bc64ce9d76c324b82956a65515f16.tar.bz2
gerbonara-e3c59e39cf9bc64ce9d76c324b82956a65515f16.zip
expand test and fix many issues
Diffstat (limited to 'tests/expects')
-rw-r--r--tests/expects/RS2724x_offset.gtl79
-rw-r--r--tests/expects/RS2724x_rotate.gtl99
-rw-r--r--tests/expects/RS2724x_save.gtl79
-rw-r--r--tests/expects/RS2724x_to_inch.gtl79
-rw-r--r--tests/expects/RS2724x_to_metric.gtl79
-rw-r--r--tests/expects/dxf_offset.gtl42
-rw-r--r--tests/expects/dxf_rectangle_inch.gtl21
-rw-r--r--tests/expects/dxf_rectangle_metric.gtl21
-rw-r--r--tests/expects/dxf_rotate.gtl42
-rw-r--r--tests/expects/dxf_save_fill.gtl44
-rw-r--r--tests/expects/dxf_save_line.gtl42
-rw-r--r--tests/expects/dxf_save_mousebites.gtl29
-rw-r--r--tests/expects/dxf_save_mousebites.txt29
-rw-r--r--tests/expects/dxf_to_inch.gtl42
-rw-r--r--tests/expects/excellon_offset.txt43
-rw-r--r--tests/expects/excellon_rotate.txt43
-rw-r--r--tests/expects/excellon_save.txt43
-rw-r--r--tests/expects/excellon_to_inch.txt43
-rw-r--r--tests/expects/excellon_to_metric.txt43
19 files changed, 942 insertions, 0 deletions
diff --git a/tests/expects/RS2724x_offset.gtl b/tests/expects/RS2724x_offset.gtl
new file mode 100644
index 0000000..9f15f4c
--- /dev/null
+++ b/tests/expects/RS2724x_offset.gtl
@@ -0,0 +1,79 @@
+%MOMM*%
+%FSLAX34Y34*%
+%INTop Layer*%
+%IPPOS*%
+%AMCOMP*
+20,1,0.2,0,0.1,0.4,0.1,$1*
+21,1,0.4,0.2,-0.2,-0.1,$1*
+1,1,0.4,-1.2,0,$1*
+4,1,4,1.2,0,1.4,-0.2,1.2,-0.4,1,-0.2,1.2,0,$1*
+5,1,6,1.2,0.2,0.4,$1*
+6,-0.7,0,0.5,0.05,0.15,2,0.05,0.6,$1*
+7,0.7,0,0.6,0.5,0.15,$1*%
+%ADD10C,0.01*%
+%ADD11C,1X0.4*%
+%ADD12R,1X0.5X0.2*%
+%ADD13O,1X0.5X0.2*%
+%ADD14O,0.5X1X0.2*%
+%ADD15P,1X5X90X0.2*%
+%ADD16COMP,0*%
+%ADD17COMP,45*%
+%ADD18COMP,-45*%
+G75*
+%LPD*%
+D10*
+G01*
+X120000Y50000D02*
+X200000Y50000D01*
+G03*
+X210000Y60000I0J10000D01*
+G01*
+X210000Y140000D01*
+G03*
+X200000Y150000I-10000J0D01*
+G01*
+X120000Y150000D01*
+G03*
+X110000Y140000I0J-10000D01*
+G01*
+X110000Y60000D01*
+G03*
+X120000Y50000I10000J0D01*
+G01*
+G36*
+G01*
+X155000Y60000D02*
+X160000Y60000D01*
+G03*
+X165000Y65000I0J5000D01*
+G01*
+X165000Y135000D01*
+G03*
+X160000Y140000I-5000J0D01*
+G01*
+X155000Y140000D01*
+G03*
+X150000Y135000I0J-5000D01*
+G01*
+X150000Y65000D01*
+G03*
+X155000Y60000I5000J0D01*
+G01*
+G37*
+D11*
+X135000Y60000D03*
+D12*
+X135000Y80000D03*
+D13*
+X135000Y100000D03*
+D14*
+X135000Y120000D03*
+D15*
+X135000Y140000D03*
+D16*
+X185000Y100000D03*
+D17*
+X185000Y125000D03*
+D18*
+X185000Y75000D03*
+M02*
diff --git a/tests/expects/RS2724x_rotate.gtl b/tests/expects/RS2724x_rotate.gtl
new file mode 100644
index 0000000..0a2d1aa
--- /dev/null
+++ b/tests/expects/RS2724x_rotate.gtl
@@ -0,0 +1,99 @@
+%MOMM*%
+%FSLAX34Y34*%
+%INTop Layer*%
+%IPPOS*%
+%AMCOMP*
+20,1,0.2,0,0.1,0.4,0.1,($1)+(20)*
+21,1,0.4,0.2,-0.2,-0.1,($1)+(20)*
+1,1,0.4,-1.2,0,($1)+(20)*
+4,1,4,1.2,0,1.4,-0.2,1.2,-0.4,1,-0.2,1.2,0,($1)+(20)*
+5,1,6,1.2,0.2,0.4,($1)+(20)*
+6,-0.7,0,0.5,0.05,0.15,2,0.05,0.6,($1)+(20)*
+7,0.7,0,0.6,0.5,0.15,($1)+(20)*%
+%AMMACP*
+5,1,$2,0,0,$1,($3)+(20)*
+1,0,$4,0,0,20*%
+%AMMACPO*
+$4=($2)-($1)*
+$5=($2)-($4)*
+21,1,$1,$5,0,0,20*
+1,1,$4,0,($4)/(2),20*
+1,1,$4,0,($4)/(-2),20*
+1,0,$3,0,0,20*%
+%AMMACLO*
+$4=($1)-($2)*
+$5=($1)-($4)*
+21,1,$5,$2,0,0,20*
+1,1,$4,($4)/(2),0,20*
+1,1,$4,($4)/(-2),0,20*
+1,0,$3,0,0,20*%
+%AMMACR*
+21,1,$1,$2,0,0,20*
+1,0,$3,0,0,20*%
+%ADD10C,0.01*%
+%ADD11C,1X0.4*%
+%ADD12MACR,1X0.5X0.2*%
+%ADD13MACLO,1X0.5X0.2*%
+%ADD14MACPO,0.5X1X0.2*%
+%ADD15MACP,1X5X90X0.2*%
+%ADD16COMP,0*%
+%ADD17COMP,45*%
+%ADD18COMP,-45*%
+G75*
+%LPD*%
+D10*
+G01*
+X49630Y-24751D02*
+X124805Y2611D01*
+G03*
+X130782Y15428I-3420J9397D01*
+G01*
+X103420Y90603D01*
+G03*
+X90603Y96580I-9397J-3420D01*
+G01*
+X15428Y69218D01*
+G03*
+X9451Y56401I3420J-9397D01*
+G01*
+X36813Y-18774D01*
+G03*
+X49630Y-24751I9397J3420D01*
+G01*
+G36*
+G01*
+X79099Y-3383D02*
+X83797Y-1673D01*
+G03*
+X86786Y4735I-1710J4698D01*
+G01*
+X62844Y70514D01*
+G03*
+X56436Y73502I-4698J-1710D01*
+G01*
+X51737Y71792D01*
+G03*
+X48749Y65383I1710J-4698D01*
+G01*
+X72690Y-395D01*
+G03*
+X79099Y-3383I4698J1710D01*
+G01*
+G37*
+D11*
+X60305Y-10224D03*
+D12*
+X53464Y8570D03*
+D13*
+X46624Y27364D03*
+D14*
+X39784Y46158D03*
+D15*
+X32943Y64952D03*
+D16*
+X93609Y44465D03*
+D17*
+X85058Y67957D03*
+D18*
+X102159Y20973D03*
+M02*
diff --git a/tests/expects/RS2724x_save.gtl b/tests/expects/RS2724x_save.gtl
new file mode 100644
index 0000000..02dbaa8
--- /dev/null
+++ b/tests/expects/RS2724x_save.gtl
@@ -0,0 +1,79 @@
+%MOMM*%
+%FSLAX34Y34*%
+%INTop Layer*%
+%IPPOS*%
+%AMCOMP*
+20,1,0.2,0,0.1,0.4,0.1,$1*
+21,1,0.4,0.2,-0.2,-0.1,$1*
+1,1,0.4,-1.2,0,$1*
+4,1,4,1.2,0,1.4,-0.2,1.2,-0.4,1,-0.2,1.2,0,$1*
+5,1,6,1.2,0.2,0.4,$1*
+6,-0.7,0,0.5,0.05,0.15,2,0.05,0.6,$1*
+7,0.7,0,0.6,0.5,0.15,$1*%
+%ADD10C,0.01*%
+%ADD11C,1X0.4*%
+%ADD12R,1X0.5X0.2*%
+%ADD13O,1X0.5X0.2*%
+%ADD14O,0.5X1X0.2*%
+%ADD15P,1X5X90X0.2*%
+%ADD16COMP,0*%
+%ADD17COMP,45*%
+%ADD18COMP,-45*%
+G75*
+%LPD*%
+D10*
+G01*
+X10000Y0D02*
+X90000Y0D01*
+G03*
+X100000Y10000I0J10000D01*
+G01*
+X100000Y90000D01*
+G03*
+X90000Y100000I-10000J0D01*
+G01*
+X10000Y100000D01*
+G03*
+X0Y90000I0J-10000D01*
+G01*
+X0Y10000D01*
+G03*
+X10000Y0I10000J0D01*
+G01*
+G36*
+G01*
+X45000Y10000D02*
+X50000Y10000D01*
+G03*
+X55000Y15000I0J5000D01*
+G01*
+X55000Y85000D01*
+G03*
+X50000Y90000I-5000J0D01*
+G01*
+X45000Y90000D01*
+G03*
+X40000Y85000I0J-5000D01*
+G01*
+X40000Y15000D01*
+G03*
+X45000Y10000I5000J0D01*
+G01*
+G37*
+D11*
+X25000Y10000D03*
+D12*
+X25000Y30000D03*
+D13*
+X25000Y50000D03*
+D14*
+X25000Y70000D03*
+D15*
+X25000Y90000D03*
+D16*
+X75000Y50000D03*
+D17*
+X75000Y75000D03*
+D18*
+X75000Y25000D03*
+M02*
diff --git a/tests/expects/RS2724x_to_inch.gtl b/tests/expects/RS2724x_to_inch.gtl
new file mode 100644
index 0000000..3ec60d8
--- /dev/null
+++ b/tests/expects/RS2724x_to_inch.gtl
@@ -0,0 +1,79 @@
+%MOIN*%
+%FSLAX25Y25*%
+%INTop Layer*%
+%IPPOS*%
+%AMCOMP*
+20,1,0.00787402,0,0.00393701,0.015748,0.00393701,$1*
+21,1,0.015748,0.00787402,-0.00787402,-0.00393701,$1*
+1,1,0.015748,-0.0472441,0,$1*
+4,1,4,0.0472441,0,0.0551181,-0.00787402,0.0472441,-0.015748,0.0393701,-0.00787402,0.0472441,0,$1*
+5,1,6,0.0472441,0.00787402,0.015748,$1*
+6,-0.0275591,0,0.019685,0.0019685,0.00590551,2,0.0019685,0.023622,$1*
+7,0.0275591,0,0.023622,0.019685,0.00590551,$1*%
+%ADD10C,0.0003937*%
+%ADD11C,0.03937X0.01575*%
+%ADD12R,0.03937X0.01969X0.007874*%
+%ADD13O,0.03937X0.01969X0.007874*%
+%ADD14O,0.01969X0.03937X0.007874*%
+%ADD15P,0.03937X5X90X0.007874*%
+%ADD16COMP,0*%
+%ADD17COMP,45*%
+%ADD18COMP,-45*%
+G75*
+%LPD*%
+D10*
+G01*
+X3937Y0D02*
+X35433Y0D01*
+G03*
+X39370Y3937I0J3937D01*
+G01*
+X39370Y35433D01*
+G03*
+X35433Y39370I-3937J0D01*
+G01*
+X3937Y39370D01*
+G03*
+X0Y35433I0J-3937D01*
+G01*
+X0Y3937D01*
+G03*
+X3937Y0I3937J0D01*
+G01*
+G36*
+G01*
+X17717Y3937D02*
+X19685Y3937D01*
+G03*
+X21654Y5906I0J1969D01*
+G01*
+X21654Y33465D01*
+G03*
+X19685Y35433I-1969J0D01*
+G01*
+X17717Y35433D01*
+G03*
+X15748Y33465I0J-1969D01*
+G01*
+X15748Y5906D01*
+G03*
+X17717Y3937I1969J0D01*
+G01*
+G37*
+D11*
+X9843Y3937D03*
+D12*
+X9843Y11811D03*
+D13*
+X9843Y19685D03*
+D14*
+X9843Y27559D03*
+D15*
+X9843Y35433D03*
+D16*
+X29528Y19685D03*
+D17*
+X29528Y29528D03*
+D18*
+X29528Y9843D03*
+M02*
diff --git a/tests/expects/RS2724x_to_metric.gtl b/tests/expects/RS2724x_to_metric.gtl
new file mode 100644
index 0000000..93adfc1
--- /dev/null
+++ b/tests/expects/RS2724x_to_metric.gtl
@@ -0,0 +1,79 @@
+%MOMM*%
+%FSLAX34Y34*%
+%INTop Layer*%
+%IPPOS*%
+%AMCOMP*
+20,1,0.2,0,0.1,0.399999,0.1,$1*
+21,1,0.399999,0.2,-0.2,-0.1,$1*
+1,1,0.399999,-1.2,0,$1*
+4,1,4,1.2,0,1.4,-0.2,1.2,-0.399999,1,-0.2,1.2,0,$1*
+5,1,6,1.2,0.2,0.399999,$1*
+6,-0.700001,0,0.499999,0.0499999,0.15,2,0.0499999,0.599999,$1*
+7,0.700001,0,0.599999,0.499999,0.15,$1*%
+%ADD10C,0.01*%
+%ADD11C,1X0.4*%
+%ADD12R,1X0.5001X0.2*%
+%ADD13O,1X0.5001X0.2*%
+%ADD14O,0.5001X1X0.2*%
+%ADD15P,1X5X90X0.2*%
+%ADD16COMP,0*%
+%ADD17COMP,45*%
+%ADD18COMP,-45*%
+G75*
+%LPD*%
+D10*
+G01*
+X10000Y0D02*
+X90000Y0D01*
+G03*
+X100000Y10000I0J10000D01*
+G01*
+X100000Y90000D01*
+G03*
+X90000Y100000I-10000J0D01*
+G01*
+X10000Y100000D01*
+G03*
+X0Y90000I0J-10000D01*
+G01*
+X0Y10000D01*
+G03*
+X10000Y0I10000J0D01*
+G01*
+G36*
+G01*
+X45001Y10000D02*
+X50000Y10000D01*
+G03*
+X55001Y15001I0J5001D01*
+G01*
+X55001Y85001D01*
+G03*
+X50000Y90000I-5001J0D01*
+G01*
+X45001Y90000D01*
+G03*
+X40000Y85001I0J-5001D01*
+G01*
+X40000Y15001D01*
+G03*
+X45001Y10000I5001J0D01*
+G01*
+G37*
+D11*
+X25001Y10000D03*
+D12*
+X25001Y30000D03*
+D13*
+X25001Y50000D03*
+D14*
+X25001Y70000D03*
+D15*
+X25001Y90000D03*
+D16*
+X75001Y50000D03*
+D17*
+X75001Y75001D03*
+D18*
+X75001Y25001D03*
+M02*
diff --git a/tests/expects/dxf_offset.gtl b/tests/expects/dxf_offset.gtl
new file mode 100644
index 0000000..18d7a62
--- /dev/null
+++ b/tests/expects/dxf_offset.gtl
@@ -0,0 +1,42 @@
+G75*
+%MOMM*%
+%OFA0B0*%
+%FSLAX34Y34*%
+%IPPOS*%
+%LPD*%
+%ADD10C,0*%
+D10*
+G01*
+X200000Y50000D02*
+G75*
+G01*
+X120000Y50000D01*
+G02*
+X110000Y60000I0J10000D01*
+G01*
+X110000Y140000D01*
+G02*
+X120000Y150000I10000J0D01*
+G01*
+X200000Y150000D01*
+G02*
+X210000Y140000I0J-10000D01*
+G01*
+X210000Y60000D01*
+G02*
+X200000Y50000I-10000J0D01*
+G01*
+X119171Y100000D02*
+G75*
+G03*
+X119171Y100000I-3000J0D01*
+G01*
+X119171Y125107D02*
+G75*
+G02*
+X113996Y123041I-3000J0D01*
+G01*
+X116171Y125107D01*
+G01*
+X119171Y125107D01*
+M02*
diff --git a/tests/expects/dxf_rectangle_inch.gtl b/tests/expects/dxf_rectangle_inch.gtl
new file mode 100644
index 0000000..ca99021
--- /dev/null
+++ b/tests/expects/dxf_rectangle_inch.gtl
@@ -0,0 +1,21 @@
+G75*
+%MOIN*%
+%OFA0B0*%
+%FSLAX25Y25*%
+%IPPOS*%
+%LPD*%
+%ADD10C,0*%
+D10*
+G01*
+X0Y0D02*
+X39370Y0D01*
+G01*
+X39370Y0D02*
+X39370Y39370D01*
+G01*
+X39370Y39370D02*
+X0Y39370D01*
+G01*
+X0Y39370D02*
+X0Y0D01*
+M02*
diff --git a/tests/expects/dxf_rectangle_metric.gtl b/tests/expects/dxf_rectangle_metric.gtl
new file mode 100644
index 0000000..db4c439
--- /dev/null
+++ b/tests/expects/dxf_rectangle_metric.gtl
@@ -0,0 +1,21 @@
+G75*
+%MOMM*%
+%OFA0B0*%
+%FSLAX34Y34*%
+%IPPOS*%
+%LPD*%
+%ADD10C,0*%
+D10*
+G01*
+X0Y0D02*
+X100000Y0D01*
+G01*
+X100000Y0D02*
+X100000Y100000D01*
+G01*
+X100000Y100000D02*
+X0Y100000D01*
+G01*
+X0Y100000D02*
+X0Y0D01*
+M02*
diff --git a/tests/expects/dxf_rotate.gtl b/tests/expects/dxf_rotate.gtl
new file mode 100644
index 0000000..912ad60
--- /dev/null
+++ b/tests/expects/dxf_rotate.gtl
@@ -0,0 +1,42 @@
+G75*
+%MOMM*%
+%OFA0B0*%
+%FSLAX34Y34*%
+%IPPOS*%
+%LPD*%
+%ADD10C,0*%
+D10*
+G01*
+X124805Y2611D02*
+G75*
+G01*
+X49630Y-24751D01*
+G02*
+X36813Y-18774I-3420J9397D01*
+G01*
+X9451Y56401D01*
+G02*
+X15428Y69218I9397J3420D01*
+G01*
+X90603Y96580D01*
+G02*
+X103420Y90603I3420J-9397D01*
+G01*
+X130782Y15428D01*
+G02*
+X124805Y2611I-9397J-3420D01*
+G01*
+X31930Y20924D02*
+G75*
+G03*
+X31930Y20924I-3000J0D01*
+G01*
+X23162Y45543D02*
+G75*
+G02*
+X19006Y41831I-2819J-1026D01*
+G01*
+X20343Y44517D01*
+G01*
+X23162Y45543D01*
+M02*
diff --git a/tests/expects/dxf_save_fill.gtl b/tests/expects/dxf_save_fill.gtl
new file mode 100644
index 0000000..c293826
--- /dev/null
+++ b/tests/expects/dxf_save_fill.gtl
@@ -0,0 +1,44 @@
+G75*
+%MOMM*%
+%OFA0B0*%
+%FSLAX34Y34*%
+%IPPOS*%
+%LPD*%
+%ADD10C,0*%
+D10*
+G36*
+G01*
+X90000Y0D02*
+G75*
+G01*
+X10000Y0D01*
+G02*
+X0Y10000I0J10000D01*
+G01*
+X0Y90000D01*
+G02*
+X10000Y100000I10000J0D01*
+G01*
+X90000Y100000D01*
+G02*
+X100000Y90000I0J-10000D01*
+G01*
+X100000Y10000D01*
+G02*
+X90000Y0I-10000J0D01*
+G01*
+X9171Y50000D02*
+G75*
+G03*
+X9171Y50000I-3000J0D01*
+G01*
+X9171Y75107D02*
+G75*
+G02*
+X3996Y73041I-3000J0D01*
+G01*
+X6171Y75107D01*
+G01*
+X9171Y75107D01*
+G37*
+M02*
diff --git a/tests/expects/dxf_save_line.gtl b/tests/expects/dxf_save_line.gtl
new file mode 100644
index 0000000..e9a931b
--- /dev/null
+++ b/tests/expects/dxf_save_line.gtl
@@ -0,0 +1,42 @@
+G75*
+%MOMM*%
+%OFA0B0*%
+%FSLAX34Y34*%
+%IPPOS*%
+%LPD*%
+%ADD10C,0*%
+D10*
+G01*
+X90000Y0D02*
+G75*
+G01*
+X10000Y0D01*
+G02*
+X0Y10000I0J10000D01*
+G01*
+X0Y90000D01*
+G02*
+X10000Y100000I10000J0D01*
+G01*
+X90000Y100000D01*
+G02*
+X100000Y90000I0J-10000D01*
+G01*
+X100000Y10000D01*
+G02*
+X90000Y0I-10000J0D01*
+G01*
+X9171Y50000D02*
+G75*
+G03*
+X9171Y50000I-3000J0D01*
+G01*
+X9171Y75107D02*
+G75*
+G02*
+X3996Y73041I-3000J0D01*
+G01*
+X6171Y75107D01*
+G01*
+X9171Y75107D01*
+M02*
diff --git a/tests/expects/dxf_save_mousebites.gtl b/tests/expects/dxf_save_mousebites.gtl
new file mode 100644
index 0000000..b893454
--- /dev/null
+++ b/tests/expects/dxf_save_mousebites.gtl
@@ -0,0 +1,29 @@
+G75*
+%MOMM*%
+%OFA0B0*%
+%FSLAX34Y34*%
+%IPPOS*%
+%LPD*%
+%ADD10C,0.5*%
+D10*
+X10000Y90000D03*
+X10000Y80000D03*
+X10000Y70000D03*
+X10000Y60000D03*
+X10000Y50000D03*
+X10000Y40000D03*
+X10000Y30000D03*
+X10000Y20000D03*
+X10000Y10000D03*
+
+X50000Y90000D03*
+X50000Y80000D03*
+X50000Y70000D03*
+X50000Y60000D03*
+X50000Y50000D03*
+X50000Y40000D03*
+X50000Y30000D03*
+X50000Y20000D03*
+X50000Y10000D03*
+
+M02*
diff --git a/tests/expects/dxf_save_mousebites.txt b/tests/expects/dxf_save_mousebites.txt
new file mode 100644
index 0000000..4a371ef
--- /dev/null
+++ b/tests/expects/dxf_save_mousebites.txt
@@ -0,0 +1,29 @@
+M48
+FMAT,2
+ICI,OFF
+METRIC,TZ,000.000
+M71
+T01C0.500
+%
+T01
+X1000Y9000
+X1000Y8000
+X1000Y7000
+X1000Y6000
+X1000Y5000
+X1000Y4000
+X1000Y3000
+X1000Y2000
+X1000Y1000
+
+X5000Y9000
+X5000Y8000
+X5000Y7000
+X5000Y6000
+X5000Y5000
+X5000Y4000
+X5000Y3000
+X5000Y2000
+X5000Y1000
+
+M30
diff --git a/tests/expects/dxf_to_inch.gtl b/tests/expects/dxf_to_inch.gtl
new file mode 100644
index 0000000..ee630c9
--- /dev/null
+++ b/tests/expects/dxf_to_inch.gtl
@@ -0,0 +1,42 @@
+G75*
+%MOIN*%
+%OFA0B0*%
+%FSLAX25Y25*%
+%IPPOS*%
+%LPD*%
+%ADD10C,0*%
+D10*
+G01*
+X35433Y0D02*
+G75*
+G01*
+X3937Y0D01*
+G02*
+X0Y3937I0J3937D01*
+G01*
+X0Y35433D01*
+G02*
+X3937Y39370I3937J0D01*
+G01*
+X35433Y39370D01*
+G02*
+X39370Y35433I0J-3937D01*
+G01*
+X39370Y3937D01*
+G02*
+X35433Y0I-3937J0D01*
+G01*
+X3610Y19685D02*
+G75*
+G03*
+X3610Y19685I-1181J0D01*
+G01*
+X3610Y29570D02*
+G75*
+G02*
+X1573Y28756I-1181J0D01*
+G01*
+X2429Y29570D01*
+G01*
+X3610Y29570D01*
+M02*
diff --git a/tests/expects/excellon_offset.txt b/tests/expects/excellon_offset.txt
new file mode 100644
index 0000000..2007248
--- /dev/null
+++ b/tests/expects/excellon_offset.txt
@@ -0,0 +1,43 @@
+M48
+FMAT,2
+ICI,OFF
+METRIC,TZ,000.000
+M71
+T01C0.100
+T02C0.200
+%
+T01
+X16000Y14500
+X16200Y14500
+X16400Y14500
+X16600Y14500
+X16800Y14500
+X17000Y14500
+X17200Y14500
+X17400Y14500
+X17600Y14500
+X17800Y14500
+X18000Y14500
+X18200Y14500
+X18400Y14500
+X18600Y14500
+X18800Y14500
+X19000Y14500
+X19200Y14500
+X19400Y14500
+X19600Y14500
+X19800Y14500
+X20000Y14500
+T02
+X16000Y5500
+X16400Y5500
+X16800Y5500
+X17200Y5500
+X17600Y5500
+X18000Y5500
+X18400Y5500
+X18800Y5500
+X19200Y5500
+X19600Y5500
+X20000Y5500
+M30
diff --git a/tests/expects/excellon_rotate.txt b/tests/expects/excellon_rotate.txt
new file mode 100644
index 0000000..2ef3540
--- /dev/null
+++ b/tests/expects/excellon_rotate.txt
@@ -0,0 +1,43 @@
+M48
+FMAT,2
+ICI,OFF
+METRIC,TZ,000.000
+M71
+T01C0.100
+T02C0.200
+%
+T01
+X5473Y7820
+X5660Y7888
+X5848Y7957
+X6036Y8025
+X6224Y8094
+X6412Y8162
+X6600Y8230
+X6788Y8299
+X6976Y8367
+X7164Y8436
+X7352Y8504
+X7540Y8572
+X7728Y8641
+X7916Y8709
+X8104Y8778
+X8292Y8846
+X8480Y8915
+X8668Y8983
+X8855Y9051
+X9043Y9120
+X9231Y9188
+T02
+X8551Y-637
+X8927Y-500
+X9302Y-364
+X9678Y-227
+X10054Y-90
+X10430Y47
+X10806Y184
+X11182Y320
+X11558Y457
+X11934Y594
+X12309Y731
+M30
diff --git a/tests/expects/excellon_save.txt b/tests/expects/excellon_save.txt
new file mode 100644
index 0000000..a1d2ba8
--- /dev/null
+++ b/tests/expects/excellon_save.txt
@@ -0,0 +1,43 @@
+M48
+FMAT,2
+ICI,OFF
+METRIC,TZ,000.000
+M71
+T01C0.100
+T02C0.200
+%
+T01
+X5000Y9500
+X5200Y9500
+X5400Y9500
+X5600Y9500
+X5800Y9500
+X6000Y9500
+X6200Y9500
+X6400Y9500
+X6600Y9500
+X6800Y9500
+X7000Y9500
+X7200Y9500
+X7400Y9500
+X7600Y9500
+X7800Y9500
+X8000Y9500
+X8200Y9500
+X8400Y9500
+X8600Y9500
+X8800Y9500
+X9000Y9500
+T02
+X5000Y500
+X5400Y500
+X5800Y500
+X6200Y500
+X6600Y500
+X7000Y500
+X7400Y500
+X7800Y500
+X8200Y500
+X8600Y500
+X9000Y500
+M30
diff --git a/tests/expects/excellon_to_inch.txt b/tests/expects/excellon_to_inch.txt
new file mode 100644
index 0000000..8d31df0
--- /dev/null
+++ b/tests/expects/excellon_to_inch.txt
@@ -0,0 +1,43 @@
+M48
+FMAT,2
+ICI,OFF
+INCH,TZ,00.0000
+M72
+T01C0.0039
+T02C0.0078
+%
+T01
+X1969Y3740
+X2047Y3740
+X2126Y3740
+X2205Y3740
+X2283Y3740
+X2362Y3740
+X2441Y3740
+X2520Y3740
+X2598Y3740
+X2677Y3740
+X2756Y3740
+X2835Y3740
+X2913Y3740
+X2992Y3740
+X3071Y3740
+X3150Y3740
+X3228Y3740
+X3307Y3740
+X3386Y3740
+X3465Y3740
+X3543Y3740
+T02
+X1969Y197
+X2126Y197
+X2283Y197
+X2441Y197
+X2598Y197
+X2756Y197
+X2913Y197
+X3071Y197
+X3228Y197
+X3386Y197
+X3543Y197
+M30
diff --git a/tests/expects/excellon_to_metric.txt b/tests/expects/excellon_to_metric.txt
new file mode 100644
index 0000000..a634742
--- /dev/null
+++ b/tests/expects/excellon_to_metric.txt
@@ -0,0 +1,43 @@
+M48
+FMAT,2
+ICI,OFF
+METRIC,TZ,000.000
+M71
+T01C0.099
+T02C0.198
+%
+T01
+X5001Y9500
+X5199Y9500
+X5400Y9500
+X5601Y9500
+X5799Y9500
+X5999Y9500
+X6200Y9500
+X6401Y9500
+X6599Y9500
+X6800Y9500
+X7000Y9500
+X7201Y9500
+X7399Y9500
+X7600Y9500
+X7800Y9500
+X8001Y9500
+X8199Y9500
+X8400Y9500
+X8600Y9500
+X8801Y9500
+X8999Y9500
+T02
+X5001Y500
+X5400Y500
+X5799Y500
+X6200Y500
+X6599Y500
+X7000Y500
+X7399Y500
+X7800Y500
+X8199Y500
+X8600Y500
+X8999Y500
+M30