From 1ed69e9b468874c15ffff3ce69cc58f31a8aeab5 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 17 Jul 2024 23:09:04 +0200 Subject: [PATCH] Added test --- src/db/unit_tests/dbLayoutUtilsTests.cc | 39 ++++++++++++++++++++++++ testdata/algo/break_polygons_test.gds | Bin 0 -> 1342 bytes testdata/algo/layout_utils_au_bp1.gds | Bin 0 -> 2140 bytes testdata/algo/layout_utils_au_bp2.gds | Bin 0 -> 2026 bytes 4 files changed, 39 insertions(+) create mode 100644 testdata/algo/break_polygons_test.gds create mode 100644 testdata/algo/layout_utils_au_bp1.gds create mode 100644 testdata/algo/layout_utils_au_bp2.gds diff --git a/src/db/unit_tests/dbLayoutUtilsTests.cc b/src/db/unit_tests/dbLayoutUtilsTests.cc index ce0a352c2..24d95c441 100644 --- a/src/db/unit_tests/dbLayoutUtilsTests.cc +++ b/src/db/unit_tests/dbLayoutUtilsTests.cc @@ -779,3 +779,42 @@ TEST(20_scale_and_snap) db::compare_layouts (_this, l1, tl::testdata () + "/algo/layout_utils_au_sns4.oas", db::NormalizationMode (db::WriteOAS + db::WithArrays)); } + +TEST(21_break1) +{ + db::Layout l1; + { + std::string fn (tl::testdata ()); + fn += "/algo/break_polygons_test.gds"; + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (l1); + } + + db::break_polygons (l1, 10, 3.0); + + CHECKPOINT(); + db::compare_layouts (_this, l1, tl::testdata () + "/algo/layout_utils_au_bp1.gds"); +} + +TEST(22_break2) +{ + db::Layout l1; + { + std::string fn (tl::testdata ()); + fn += "/algo/break_polygons_test.gds"; + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (l1); + } + + unsigned int li1 = find_layer (l1, 1, 0); + unsigned int li2 = find_layer (l1, 2, 0); + + db::break_polygons (l1, li1, 10, 0.0); + db::break_polygons (l1, li2, 0, 3.0); + + CHECKPOINT(); + db::compare_layouts (_this, l1, tl::testdata () + "/algo/layout_utils_au_bp2.gds"); +} + diff --git a/testdata/algo/break_polygons_test.gds b/testdata/algo/break_polygons_test.gds new file mode 100644 index 0000000000000000000000000000000000000000..089d24e177ebbfea6719f02323b5af69b3f3a32a GIT binary patch literal 1342 zcmai!F=$g!6o&u2yxhFjmozQWnEDV~BSa0P6fsmvOiP4_1%m`E;?Tjt!NH+}ql1Hj zgM)+M(m^nzV@HP~85|rPIyeYsaEMUQq450AyYG;MraD}{_s+fN+;jeO?}dTmY$8ZF z=|0k!MF9z9M!(@XX5;2MkWZ%SYcFcIKD{5TGlG9#;gIZ2bhe*s3z+G zSj{DYoD2AY<;)In@-(2#w1ByffKu0y?(ETchY~N}28s_X7q@_H4p7b?08@K_@_ZRc zKLV8V6$ahle9X)DnPm@9R-1r#1yEjm$hFs=V|XILG~! zlE>M+%||Gs*c)<@xfgua6I1IXBR!_Z^)(BkvNuCjl6?fCj{luY8de=8*Zkl6op>h> zfa@*G+P>97S$|5cw*lqV57gotpcH%X%+3qNuhbb*;#Qv9_`=!~V7WJBgR!r@0hF~o zun}YNZG>`O zg8qPn$|7Etwr+y3ESA6APN&9H`)NexXSH4(|z)W_JCH`vb}G2RI0tzwbl5nlP?w3JSBI?6cX^HX1*U= PjM9WD8oq<7o$KN+`fs@Z literal 0 HcmV?d00001 diff --git a/testdata/algo/layout_utils_au_bp1.gds b/testdata/algo/layout_utils_au_bp1.gds new file mode 100644 index 0000000000000000000000000000000000000000..c66a1daf6c4a1be33c2c6d9e5e0a5260467cbf18 GIT binary patch literal 2140 zcmaKu&r4KM6vw~w>(0~0akQyP8zRlZa!3iqh9(=$U?L$2Aqf{QTC`}KAA%~6R$JIOaf^SFda!G zVDd=-l|o8_GeB>}@zNlWeGVu!E=+g*ub-j5I1BVVb)@b>(dkLvJzqoiZvmwopj4eO z%D+bcHqrF{cBDV^Df<_Jd_nvI>N;VRpI`5pb52hV)`0W#AxB;Sm&<_i+I!%l^h3$K zfj-KALHo&d?Ca2ibXoSV9G(WeQ9yb18Bma0IlSilmFgpm&3E$?Fm@3jCzgTHjgV8~ zU3&*8s~%97ekmtpuXm4ReL(dQM&WytC`mq$szV11OIzkkk)dm`EM z)B7RmuX#xJzO)@ub;2lrfB(5)h9vdvgCXh9yh{27>!bYqdLbA0#p_N3NXc&{_igGj zuYmMrKBekT>Te+}HI$_;VdtuQew7`PuX__v>N=rcZ(HkmWcqk2d7bjsOO<85O}X!` zLcaB^l$0xKw-v7E>2+$|F~8$>qtv)CR-Y*XnO(Vs-XFO?gw(h&R?pKeFI^-#sq$V( zjSHLg$>!6T>v?jJJSlE%h19q(RzEJaQ%6?bIK5Ki!YKU!`*%Z{n_C9@WZ$fTe=8;K z>#`C$;alSwGxt!&lx~-ib@RKEE2OObbpRw*S~9nMhw4k#9*wwX?~w=G+Xoyq?z6e_ z7Ja+CD_l=LmK{*9)VMH4Z|#q5YY%rEk2g6%Yn2*5+&Ni)yh*)ue!$wF8%p~8^KH)G zGj AegFUf literal 0 HcmV?d00001 diff --git a/testdata/algo/layout_utils_au_bp2.gds b/testdata/algo/layout_utils_au_bp2.gds new file mode 100644 index 0000000000000000000000000000000000000000..aacb20a86226932e8905959ab52e822dcf4172f3 GIT binary patch literal 2026 zcmai#y-yTT6vfYe%?`LM3$Cu<#sH#0-3T!d+_>U`m|!H47!rx0ps=v8u%NK8ps>)y zg2KYYhQdVt1PTiaVkj&uC@d&Vq@cjWL<*DfoOyFI7-w;k$#3`O-E+U*yax~I^a84> zbbc3kbfE$tg~Pw$r@h(RQ$RVBo0xn#e&^Hs{rdFA@Y>r4^Qh)p`+1%>31of1>qsL7 zub2iP7EKx6_ts|54!hBDha{l5_130}9bL0tdt_m10z6Sc(52NBn z{z>|a)=#ZdUoS1P%dFoxJPr7xfbqg3pv2cWyzcakrbD)jcl8}G)(40aE5PW7m{Zhl zyaJ4MA84{)#tGJX^MLCknhu#1FYKRsG4|Z`WU>KVeg+up?A6FN^&={-@-dnpnWP`i zTeBS7bu*Q&;u){c1LtP|qpc%b>h-QVJ+ZmWz4$a{{fmoZlwPzxNiVEl^HNQsdVYK_ zrt~e2sNPq$W11hCq#xE_h-N6tzkMjC^cB}Ay=Z-sUYIZVs4hJ>W`GQT8&$X0{k>US#K*+rP#R#_RqF7;POH=G*r7dF1u$RPsCd)icYgzNW%Am!ZCT zWh(MXsHp^YCZ^fRmi{{JitM7ONmX}anw>oC zpFVsVYrRemQ76T<&6s8(;$fC}o1+$3Bo+{VTHFL*c$}E(gKEh}(Pjd`^yg-*}%H-P!{j zZC%JPqyO!rAo#w;ehi91@awbY6Edj}+($vM&%V#BJI?L6h(@!|th;IoZWnWoC$)dQ XN=o;(y4kiwm1%fA9`9`HT{eq9-x>oB literal 0 HcmV?d00001