From 071a7acc9d277978fa33cfe15a92ee1c4e4f84ce Mon Sep 17 00:00:00 2001 From: whitequark Date: Wed, 2 Nov 2016 02:33:31 +0000 Subject: [PATCH] tests: bulk add of migrate_from_v22 tests. --- test/constraint/angle/free_in_3d_v22.slvs | Bin 0 -> 6235 bytes test/constraint/angle/normal_v22.slvs | Bin 0 -> 6357 bytes .../angle/reference_free_in_3d_v22.slvs | Bin 0 -> 6235 bytes test/constraint/angle/reference_v22.slvs | Bin 0 -> 6736 bytes test/constraint/angle/skew_v22.slvs | Bin 0 -> 6115 bytes test/constraint/angle/test.cpp | 24 ++++++++++++++++++ .../arc_line_tangent/normal_v22.slvs | Bin 0 -> 8281 bytes test/constraint/arc_line_tangent/test.cpp | 6 +++++ .../line_plane_free_in_3d_v22.slvs | Bin 0 -> 4991 bytes .../at_midpoint/line_plane_normal_v22.slvs | Bin 0 -> 5076 bytes .../at_midpoint/line_pt_free_in_3d_v22.slvs | Bin 0 -> 5417 bytes .../at_midpoint/line_pt_normal_v22.slvs | Bin 0 -> 5529 bytes test/constraint/at_midpoint/test.cpp | 24 ++++++++++++++++++ test/constraint/comment/normal_v22.slvs | Bin 0 -> 4181 bytes test/constraint/comment/test.cpp | 6 +++++ .../cubic_line_tangent/free_in_3d_v22.slvs | Bin 0 -> 6815 bytes .../cubic_line_tangent/normal_v22.slvs | Bin 0 -> 7958 bytes test/constraint/cubic_line_tangent/test.cpp | 12 +++++++++ .../curve_curve_tangent/arc_arc_v22.slvs | Bin 0 -> 7415 bytes .../curve_curve_tangent/arc_cubic_v22.slvs | Bin 0 -> 9240 bytes test/constraint/curve_curve_tangent/test.cpp | 12 +++++++++ test/constraint/diameter/normal_v22.slvs | Bin 0 -> 5291 bytes test/constraint/diameter/reference_v22.slvs | Bin 0 -> 5291 bytes test/constraint/diameter/test.cpp | 12 +++++++++ .../eq_len_pt_line_d/normal_v22.slvs | Bin 0 -> 6515 bytes test/constraint/eq_len_pt_line_d/test.cpp | 6 +++++ .../eq_pt_ln_distances/normal_v22.slvs | Bin 0 -> 6998 bytes test/constraint/eq_pt_ln_distances/test.cpp | 6 +++++ test/constraint/equal_angle/normal_v22.slvs | Bin 0 -> 8470 bytes test/constraint/equal_angle/other_v22.slvs | Bin 0 -> 8472 bytes test/constraint/equal_angle/test.cpp | 12 +++++++++ .../equal_length_lines/normal_v22.slvs | Bin 0 -> 6030 bytes test/constraint/equal_length_lines/test.cpp | 6 +++++ .../equal_line_arc_len/normal_v22.slvs | Bin 0 -> 6597 bytes test/constraint/equal_line_arc_len/test.cpp | 6 +++++ test/constraint/equal_radius/normal_v22.slvs | Bin 0 -> 6251 bytes test/constraint/equal_radius/test.cpp | 6 +++++ test/constraint/horizontal/line_v22.slvs | Bin 0 -> 5046 bytes test/constraint/horizontal/pt_pt_v22.slvs | Bin 0 -> 5018 bytes test/constraint/horizontal/test.cpp | 12 +++++++++ .../length_difference/normal_v22.slvs | Bin 0 -> 6129 bytes .../length_difference/reference_v22.slvs | Bin 0 -> 6129 bytes test/constraint/length_difference/test.cpp | 12 +++++++++ test/constraint/length_ratio/normal_v22.slvs | Bin 0 -> 6167 bytes .../length_ratio/reference_v22.slvs | Bin 0 -> 6167 bytes test/constraint/length_ratio/test.cpp | 12 +++++++++ test/constraint/parallel/free_in_3d_v22.slvs | Bin 0 -> 4992 bytes test/constraint/parallel/normal_v22.slvs | Bin 0 -> 6041 bytes test/constraint/parallel/test.cpp | 12 +++++++++ test/constraint/perpendicular/normal_v22.slvs | Bin 0 -> 6041 bytes test/constraint/perpendicular/test.cpp | 6 +++++ .../points_coincident/free_in_3d_v22.slvs | Bin 0 -> 4934 bytes .../points_coincident/normal_v22.slvs | Bin 0 -> 5020 bytes test/constraint/points_coincident/test.cpp | 12 +++++++++ .../proj_pt_distance/normal_v22.slvs | Bin 0 -> 5142 bytes .../proj_pt_distance/reference_v22.slvs | Bin 0 -> 5142 bytes test/constraint/proj_pt_distance/test.cpp | 12 +++++++++ .../pt_face_distance/normal_v22.slvs | Bin 0 -> 24971 bytes .../pt_face_distance/reference_v22.slvs | Bin 0 -> 24971 bytes test/constraint/pt_face_distance/test.cpp | 11 ++++++++ test/constraint/pt_in_plane/normal_v22.slvs | Bin 0 -> 4495 bytes test/constraint/pt_in_plane/test.cpp | 6 +++++ .../pt_line_distance/free_in_3d_v22.slvs | Bin 0 -> 5458 bytes .../pt_line_distance/normal_v22.slvs | Bin 0 -> 5571 bytes .../pt_line_distance/reference_v22.slvs | Bin 0 -> 5571 bytes test/constraint/pt_line_distance/test.cpp | 18 +++++++++++++ test/constraint/pt_on_circle/normal_v22.slvs | Bin 0 -> 5637 bytes test/constraint/pt_on_circle/test.cpp | 6 +++++ test/constraint/pt_on_face/normal_v22.slvs | Bin 0 -> 25861 bytes test/constraint/pt_on_face/test.cpp | 5 ++++ .../constraint/pt_on_line/free_in_3d_v22.slvs | Bin 0 -> 5417 bytes test/constraint/pt_on_line/normal_v22.slvs | Bin 0 -> 5525 bytes test/constraint/pt_on_line/test.cpp | 11 ++++++++ .../pt_plane_distance/normal_v22.slvs | Bin 0 -> 4608 bytes .../pt_plane_distance/reference_v22.slvs | Bin 0 -> 4608 bytes test/constraint/pt_plane_distance/test.cpp | 12 +++++++++ .../pt_pt_distance/free_in_3d_v22.slvs | Bin 0 -> 4988 bytes .../constraint/pt_pt_distance/normal_v22.slvs | Bin 0 -> 5106 bytes .../pt_pt_distance/reference_v22.slvs | Bin 0 -> 5106 bytes test/constraint/pt_pt_distance/test.cpp | 18 +++++++++++++ .../same_orientation/normal_v22.slvs | Bin 0 -> 5198 bytes test/constraint/same_orientation/test.cpp | 6 +++++ test/constraint/symmetric/free_in_3d_v22.slvs | Bin 0 -> 4966 bytes test/constraint/symmetric/normal_v22.slvs | Bin 0 -> 5048 bytes test/constraint/symmetric/test.cpp | 12 +++++++++ .../symmetric_horiz/normal_v22.slvs | Bin 0 -> 5018 bytes test/constraint/symmetric_horiz/test.cpp | 6 +++++ .../constraint/symmetric_line/normal_v22.slvs | Bin 0 -> 6018 bytes test/constraint/symmetric_line/test.cpp | 6 +++++ .../constraint/symmetric_vert/normal_v22.slvs | Bin 0 -> 5022 bytes test/constraint/symmetric_vert/test.cpp | 6 +++++ test/constraint/vertical/line_v22.slvs | Bin 0 -> 5046 bytes test/constraint/vertical/pt_pt_v22.slvs | Bin 0 -> 5022 bytes test/constraint/vertical/test.cpp | 12 +++++++++ .../where_dragged/free_in_3d_v22.slvs | Bin 0 -> 4448 bytes test/constraint/where_dragged/normal_v22.slvs | Bin 0 -> 4540 bytes test/constraint/where_dragged/test.cpp | 12 +++++++++ test/group/translate_asy/normal_v22.slvs | Bin 0 -> 60318 bytes test/group/translate_asy/test.cpp | 5 ++++ test/group/translate_nd/normal_v22.slvs | Bin 0 -> 283298 bytes test/group/translate_nd/test.cpp | 5 ++++ test/request/arc_of_circle/normal_v22.slvs | Bin 0 -> 5401 bytes test/request/arc_of_circle/test.cpp | 6 +++++ test/request/circle/normal_v22.slvs | Bin 0 -> 4941 bytes test/request/circle/test.cpp | 6 +++++ test/request/cubic/normal_v22.slvs | Bin 0 -> 6151 bytes test/request/cubic/test.cpp | 6 +++++ test/request/cubic_periodic/normal_v22.slvs | Bin 0 -> 5595 bytes test/request/cubic_periodic/test.cpp | 6 +++++ test/request/datum_point/normal_v22.slvs | Bin 0 -> 4333 bytes test/request/datum_point/test.cpp | 6 +++++ test/request/line_segment/normal_v22.slvs | Bin 0 -> 4832 bytes test/request/line_segment/test.cpp | 6 +++++ test/request/ttf_text/normal_v22.slvs | Bin 0 -> 5134 bytes test/request/ttf_text/test.cpp | 6 +++++ 115 files changed, 415 insertions(+) create mode 100644 test/constraint/angle/free_in_3d_v22.slvs create mode 100644 test/constraint/angle/normal_v22.slvs create mode 100644 test/constraint/angle/reference_free_in_3d_v22.slvs create mode 100644 test/constraint/angle/reference_v22.slvs create mode 100644 test/constraint/angle/skew_v22.slvs create mode 100644 test/constraint/arc_line_tangent/normal_v22.slvs create mode 100644 test/constraint/at_midpoint/line_plane_free_in_3d_v22.slvs create mode 100644 test/constraint/at_midpoint/line_plane_normal_v22.slvs create mode 100644 test/constraint/at_midpoint/line_pt_free_in_3d_v22.slvs create mode 100644 test/constraint/at_midpoint/line_pt_normal_v22.slvs create mode 100644 test/constraint/comment/normal_v22.slvs create mode 100644 test/constraint/cubic_line_tangent/free_in_3d_v22.slvs create mode 100644 test/constraint/cubic_line_tangent/normal_v22.slvs create mode 100644 test/constraint/curve_curve_tangent/arc_arc_v22.slvs create mode 100644 test/constraint/curve_curve_tangent/arc_cubic_v22.slvs create mode 100644 test/constraint/diameter/normal_v22.slvs create mode 100644 test/constraint/diameter/reference_v22.slvs create mode 100644 test/constraint/eq_len_pt_line_d/normal_v22.slvs create mode 100644 test/constraint/eq_pt_ln_distances/normal_v22.slvs create mode 100644 test/constraint/equal_angle/normal_v22.slvs create mode 100644 test/constraint/equal_angle/other_v22.slvs create mode 100644 test/constraint/equal_length_lines/normal_v22.slvs create mode 100644 test/constraint/equal_line_arc_len/normal_v22.slvs create mode 100644 test/constraint/equal_radius/normal_v22.slvs create mode 100644 test/constraint/horizontal/line_v22.slvs create mode 100644 test/constraint/horizontal/pt_pt_v22.slvs create mode 100644 test/constraint/length_difference/normal_v22.slvs create mode 100644 test/constraint/length_difference/reference_v22.slvs create mode 100644 test/constraint/length_ratio/normal_v22.slvs create mode 100644 test/constraint/length_ratio/reference_v22.slvs create mode 100644 test/constraint/parallel/free_in_3d_v22.slvs create mode 100644 test/constraint/parallel/normal_v22.slvs create mode 100644 test/constraint/perpendicular/normal_v22.slvs create mode 100644 test/constraint/points_coincident/free_in_3d_v22.slvs create mode 100644 test/constraint/points_coincident/normal_v22.slvs create mode 100644 test/constraint/proj_pt_distance/normal_v22.slvs create mode 100644 test/constraint/proj_pt_distance/reference_v22.slvs create mode 100644 test/constraint/pt_face_distance/normal_v22.slvs create mode 100644 test/constraint/pt_face_distance/reference_v22.slvs create mode 100644 test/constraint/pt_in_plane/normal_v22.slvs create mode 100644 test/constraint/pt_line_distance/free_in_3d_v22.slvs create mode 100644 test/constraint/pt_line_distance/normal_v22.slvs create mode 100644 test/constraint/pt_line_distance/reference_v22.slvs create mode 100644 test/constraint/pt_on_circle/normal_v22.slvs create mode 100644 test/constraint/pt_on_face/normal_v22.slvs create mode 100644 test/constraint/pt_on_line/free_in_3d_v22.slvs create mode 100644 test/constraint/pt_on_line/normal_v22.slvs create mode 100644 test/constraint/pt_plane_distance/normal_v22.slvs create mode 100644 test/constraint/pt_plane_distance/reference_v22.slvs create mode 100644 test/constraint/pt_pt_distance/free_in_3d_v22.slvs create mode 100644 test/constraint/pt_pt_distance/normal_v22.slvs create mode 100644 test/constraint/pt_pt_distance/reference_v22.slvs create mode 100644 test/constraint/same_orientation/normal_v22.slvs create mode 100644 test/constraint/symmetric/free_in_3d_v22.slvs create mode 100644 test/constraint/symmetric/normal_v22.slvs create mode 100644 test/constraint/symmetric_horiz/normal_v22.slvs create mode 100644 test/constraint/symmetric_line/normal_v22.slvs create mode 100644 test/constraint/symmetric_vert/normal_v22.slvs create mode 100644 test/constraint/vertical/line_v22.slvs create mode 100644 test/constraint/vertical/pt_pt_v22.slvs create mode 100644 test/constraint/where_dragged/free_in_3d_v22.slvs create mode 100644 test/constraint/where_dragged/normal_v22.slvs create mode 100644 test/group/translate_asy/normal_v22.slvs create mode 100644 test/group/translate_nd/normal_v22.slvs create mode 100644 test/request/arc_of_circle/normal_v22.slvs create mode 100644 test/request/circle/normal_v22.slvs create mode 100644 test/request/cubic/normal_v22.slvs create mode 100644 test/request/cubic_periodic/normal_v22.slvs create mode 100644 test/request/datum_point/normal_v22.slvs create mode 100644 test/request/line_segment/normal_v22.slvs create mode 100644 test/request/ttf_text/normal_v22.slvs diff --git a/test/constraint/angle/free_in_3d_v22.slvs b/test/constraint/angle/free_in_3d_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..488f552ca2fa4ea39babc358e82b49c19e1d91fb GIT binary patch literal 6235 zcmd^DOH(gJT=p34~66RNFsTt=fa@>T*-LckVXz*w5#pc30svCNlnifz~*E zSK}3~ak0P+7ca`Ztkczs8FOKCpH&~Tx@l8kUDbGrS8nr&s;ldLX@PH1i?6!HYV|g2 zvYQ;IBEx1=5w}ev?P{E(r?awX+8Sj=s}v~D%f~rhZi*!;R8mCzAzL?dQImAkED*$T zIV8p(USf^cs7k*(Kb+I$l7iTQWxy8;EJfyJy~MSwgCg79<92a(lodx+jta~T(W1?^ z_)A&eQz>C7@w@=?;S0Lq-`voMGqujj$bHo-i2oq0IjJnTgkw02ZMYe$u6UxO-`>!==$gca;{Sf|+QxQ?}t zD6pz4j^gg4+_sUxUa#MuU~eY}yc^X`aUW@IHzB*&x}(VUBU@d=ZfthoKnHJRc3^JD z4zvb#6TJ6Amn4aw^n#;9H^&bf+_dKWB!u)1CYOaH1h;h7(k3mTSkReeLoWNWAVUag zORjOGtu~|?a&~hC833>4*h~6?i5;QlUBL!2ZX(K+KDx6R>{%s4 zJ(IKjfajh%Nzl)%RO{3^s&K-p%4Ql5;KCPp>O2sIDt#DQhOal}!ANEj4@Pb}50<-K z@xU3|KG~+LmrHlUmp&g}I$#GtSIV}W)(GIDvk_pLk-mpDg5m2;8^K6sQX?3-O>6|) zK-Sd>!`D8ihu0411u|dl_W~S{VvlzphvuOLE@Uq-mCw&@PzA!*ux>EC4ey2vxG&tN z)Hb~;u-VF8Y8%zm%7O670w-j9I0=!iWp*2tEg1+EwKQ9QEZN|~LN=%*7Q@Iky!{jK z$pR;2dyqma*KE)p&b9pT#Z4I3I{ODVHg_TGmA5@t$R-%T^u7sACxoXH&u?@#`cZ88 z^f($VSt_TNysUcDvlV_OKdOoe7=ZU3P0l0eq8F3Aw!CUj*|^KjQ$zEfY1mHEG-Z27 zKAU=a2r3Fpnfyl0o>IzzqgxseDz(OCeMK&OP1aWk`Ra64TjrjuSto4|Em6asB{^AY>^3 literal 0 HcmV?d00001 diff --git a/test/constraint/angle/normal_v22.slvs b/test/constraint/angle/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..4f1dfd0149ded1347d54fa8cc28272aec451d7b0 GIT binary patch literal 6357 zcmd^DOLNmO5Wf3waE`}zQU(q_lv21copf3b3~Agi~OT7ES> zFyzwduJ-lqCuyx;zyDm8`4(SRXo2VF*C+^r&!pT`;a#{*Bk_x+sNPpNJpq~gzd&o8 zz9D#p2`(0xO7Wu1OOmcu!dMFFeO7(S2(43PT@k#*tB~$cb#;9xE$}U>@l~_ftlnlc zyUB5?GNhXd+)}FT2+q;tSy|AUpsc8k0_AzRo8#rCSfaut1>%p{n$A^C+7VqK7AKUD zIDce`1g}w*{s?{sr^_V=u>s3OE>>8o%uBMwMAyNQrT4gA+)c7#QstU5^ zR&COzO(N-Ui*jFMT0$qSp_BH|Q*UBGxt5Zd)*qK?{c%C-lpKZZ z%sKqEB?cvn4lu+zy@GMe5d{q_O0c=X9t9J zD9rK02GiP|W0a8Jg>YyGN^r|(9&6%JiUpq?HgM^d1q=f~52*>Xtu-knTKHNKrmr4h z=0#7pQ%5Twk zdkm7Qq9kjSYXzLXQUN2}wH{o7Q9>Ljwd9i+sicX*Li=dWrnhI44EGGDbBE`aIw9y6 zQL1-t98@^8++;JZ56nfZ@U;5?3R8MNv>abY?Sqrds6IHk*?sWb&ZZBtW7|jHeDr+j zzW>sv?xj6;0Ar=5IJ)J!pGD% zx0?LK%6;k^@XX4dm1tm&TuFC=sua(xIH(f-4XIkpD~X2^h`G>RbP2>%8mEp{_JG}q z^v}btfjM#|owV@sM|>>w=Z}73lO}>c(DVKWkaVH3&{K(2Xkzuaj1EnBI#c$6C-ZAQ zVgzORta_M@ePwtaIR~SqOONWz_xTgDb1Qt@D2tSOZJjN;eG5h woq6_=6$A4RB?}ZM1EIBmakK&$r(IpZSdo_*t-^A(qPPzC>CF2SXiS3OFS~`3NdN!< literal 0 HcmV?d00001 diff --git a/test/constraint/angle/reference_free_in_3d_v22.slvs b/test/constraint/angle/reference_free_in_3d_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..dd91a68ccb6ae62a67426993807ddd210306bb91 GIT binary patch literal 6235 zcmd^DOH(gJT=p34~66RNFsTt=fa@>T*-LckVXz*w5#pc30svCNlnifz~*E zSK}3~ak0P+7ca`ZtkczsIdfripH&~Tx@lA4UDbGrS8nr&s;ldLX@PH1i?6!H%6gkM z*-eg9kzuo`NZ6*4el^a~(^*+GZH=;`RSJ~n<>MSLH^mYaDk&oVkgc1!z$61T3k2)9 zoD$;?hgjn^s?zVy59f5bq$GB58E|94rO3Rjm$;TVD6`EyZWnh)S#eb5sKDG2E!u30 zzm)Yom69qYo)5f%3|gb#|K-tWA6pS3vnM3VVTSw1!RM z!Y(23eGke`#g6k*>-TDdK5gLfcw3a)3e&T6(7SZdzjSC#jI>-2WYF5z1+9HuqBS6U zE}S|0zrMr>WL5!SY=V36I`?q8d)Uh=Xzi?m*3K%?zJ^tB*I7LpNh|p4v`+EYc^&H? zQDRkB9L3#7xosnXzmDIZ;BPMuL^se)2_I=~HzB*&x}(VUBU@eLZftfCKqqfxcHnO3 z4zvb$6QcK0mn4aw^pc}fH^&bf+_dKWB!u)1CYOaH1h;h7(k3mTSkReeLoWNWAVUag zORjOGuQs6tQuw!42><#Dk+}l71*Bk)C53hzOR)?{S$gdX=S7>fJ5gwufINrGL=}`| zFH>$;m1HRW>V4CPD6T5XdW~|aAZIsMkOA;oj=iKWnAj0&-W6;h<1PZOjM1IV;K(W& z8kwB!2O{_2B#VA#P_0wvDBz^3Dw}C_fDpdmQ?CP2DCoo3GGe`H9gJiq)xpS3uY=`o zS9RbO+dkQ*tCyy`;ik`rO$Y1%=t|j^(;5LnbT$G^GcxwDMlfQ%X(JfPOlkxpw~38l z8_2pkVYuycdf0YAFOd0azZc+u6nnh;I5ZC}2qAlcseFEJgDMcQhINAxZFo0az6VGpSHu_O) z`SduNEeVyEmb|Qb)3X6TlOI*Z1PsLcjwa_T=%N>syk=gtr)=D1=c%E2&opc&X_~UV zBcDw@eF-WGOqu*f&7M*!fTMdF4=QEjvc4i0z9#DfLcThkrjcbIXfZH-Kxm+i6_{27 zZfF^BgYJIdhUqeEDz{v%8Vt7y8Tb6;B=X`}=q0l_N}_lcMLJsDewT*s$w{0WD`cZ9vuzEkhGPVPq z>6A?-_v*gRJ(8~V^Vjd2ELr259L@0b>JE9H_o>KMx&P>|qk#W_5LMe8M?)eL|EFk) zqjv>f-~y*JTnh0lOR^$bEV!`{mQQj1F)qp~lGb^F=Xl|l8PGwEXQ8`02 zjxQjw{)iF_yhM5Q-TUEP%;yZm8Z4n$EU}cCXT=;Bst$&1`Gl+4<5`@Z@gH_e5L&SgdX5T~3bfcTZA{1=VAMg>~Z zP2$sCLdpjLZ95Zt-o6$zYGIQW2EyMOC9cLagocfwVRPuvnHZs5L&;R@j!U)fxI}A} z9QgFi+5I&oMoQ)#posM_hi@|v`yL8RMxyp+{h)`vm46=x1A|x{N!ewR8F;d9xLUL$(Qt-fL9%JH>iW!?7R^-ynQZft>dI*iDY>i0?D&eUj zgeQ+Mup^MuSP3?DQ-?%q2SN=+HwcF+8iVkp;jhvvuC|gQbcP8$A(Q>nlASWdx;!Ie z<=5bwIR*(;niWfwCg_{weM8u0YWmX#=Aj$Fy%1Z63XS+P?k>>E*3CN)FP($shi)(4If)iA|Vr{*a!xKY)Y_g@u|*ghCOk#bvZ>!qN%p z2cF2U{)pj}WwYvTHs+P#c;xJimMT@Wojgu7rspdBQa#_wNu2@@JVP!bn4-PU5o3An z1~v3~b-~AWelJ*>_guqwsG-TKNAiFhm?Pz*y~S2F6-CkIUT87K;*B{x%vop8|EVE+9h_ zw37e{!oPv!KDbVbIguoD1n?&lcpifD5rjh+4hCa5fnyUR8+zaa7)$^dfe{>yCWCMS Mg2{+Jh?vm-0e-FuJpcdz literal 0 HcmV?d00001 diff --git a/test/constraint/angle/skew_v22.slvs b/test/constraint/angle/skew_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..e793f9371a167a3a31b92b92982e8b2aa2e2b2ee GIT binary patch literal 6115 zcmdT|%}(1u5Wf30dX8l~p(+O-D5bqsCv?fLT z)BEL}Etd?T7NDXAP%^E&T+&h{$zZDI@xqhn_kU13q<>j9PbG)Vkw>)+#yh@w90EbR`BQ z^9~?lBg~`MnNP=?PdiaXts7O;x={t~YfwdV6V=H;Skc~ub&S1<>rnd{16H$Qa?*Z$ zxi%8ooArmmaC1a5@P*A(Q>nl13R~U6I2y_&xYx4md)U z<>i{BN&!c&P{43@qvlOu6c>9^E%?NTC1E15P(IqT>Frr3!#u;$e86)@oe=aZFV#5_ z4l11Y)hyiVOnc>ae&`~Uc$$3xg)Y4xT9&V)_Q6VKR3EI|%sx1-X59zTvF)>KIND#j z>%a8n@X{VT09mPM$?zFW1a#3#1RO?`?|wwEd>xetRx+cAVC6QF2(EdmjS2nNzQl*u z_TT~xUrjC`8RQ=Cb10w-#RYy|gyP&rRV012-f|j*p2@06k||2ip6h|Amw3Xkh!QNSFx62}Cm(>rP*Fh6RxutLJ2{6QD0i8g;wrC>5UiE{W=JneVV zSdm7c-V#-U*_S^r@xlJ|ppS*iaSJ(^907#tBT^0A2lDpX0usvYF2Bm-^G(X1I*pZ#Wa8m+F<~nCb}fg`v<@mL;wH) literal 0 HcmV?d00001 diff --git a/test/constraint/angle/test.cpp b/test/constraint/angle/test.cpp index a117b23..6cb697e 100644 --- a/test/constraint/angle/test.cpp +++ b/test/constraint/angle/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(free_in_3d_roundtrip) { CHECK_LOAD("free_in_3d.slvs"); CHECK_RENDER("free_in_3d.png"); @@ -24,6 +30,12 @@ TEST_CASE(free_in_3d_migrate_from_v20) { CHECK_SAVE("free_in_3d.slvs"); } +TEST_CASE(free_in_3d_migrate_from_v22) { + CHECK_LOAD("free_in_3d_v22.slvs"); + CHECK_RENDER("free_in_3d.png"); + CHECK_SAVE("free_in_3d.slvs"); +} + TEST_CASE(reference_roundtrip) { CHECK_LOAD("reference.slvs"); CHECK_RENDER("reference.png"); @@ -36,6 +48,12 @@ TEST_CASE(reference_migrate_from_v20) { CHECK_SAVE("reference.slvs"); } +TEST_CASE(reference_migrate_from_v22) { + CHECK_LOAD("reference_v22.slvs"); + CHECK_RENDER("reference.png"); + CHECK_SAVE("reference.slvs"); +} + TEST_CASE(reference_free_in_3d_roundtrip) { CHECK_LOAD("reference_free_in_3d.slvs"); CHECK_RENDER("reference_free_in_3d.png"); @@ -48,6 +66,12 @@ TEST_CASE(reference_free_in_3d_migrate_from_v20) { CHECK_SAVE("reference_free_in_3d.slvs"); } +TEST_CASE(reference_free_in_3d_migrate_from_v22) { + CHECK_LOAD("reference_free_in_3d_v22.slvs"); + CHECK_RENDER("reference_free_in_3d.png"); + CHECK_SAVE("reference_free_in_3d.slvs"); +} + TEST_CASE(skew_render) { CHECK_LOAD("skew.slvs"); CHECK_RENDER("skew.png"); diff --git a/test/constraint/arc_line_tangent/normal_v22.slvs b/test/constraint/arc_line_tangent/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..86a7d82fe70e365dd8edeb1a7d1b68899e22ae64 GIT binary patch literal 8281 zcmd^EOLNmO5Wf3waE`}z+QP*LD32S%lxaCI9MnW@J#}njJL!YrM*)8jttG8ispVG^ zdY~7EUG3xB{Z?K(zkdJuoTnT9xnK)^_U?jtp7){5*M)!MZ{k4yg-TRE6g)l_GWGwA zt$6&RL=Y%Sav8wbYsC<&u|(qp56l%j?C>EXig?$}+AD z*`iK1{7YWmHd4{0S3wX#KI%Yw`PY|C#1nJQ*^%%5T{lqGxx7rSlT6Yi6n-_7|Dv&< zSjko}BtA@ufFB0X_D1Y^PqksEHtNzwf%3OusjD#^p`*^wQFrLMGciHA4#=Q&#|5oB zuFzVL10U|3?Z2+X1Z3F(sMrMaXgBlubn|&l= zR9RlGSc(eq1Xc>M#$Vveiy*WVds?mNEZ1sfqHBRZ+Orw#*(B3=7EkCN&mA~L(2o+T z^W9+-aKSi}&9pv%i%{2-_CfBKqtiiOd+mdj%%nb8IB6do8=3*GI<~oY?Z{7$J`6wl z*nf1u1OO|MmeYs;F0gr&2(Xi)?_pzO`PwTHtYjt;!OCqS5nO9^8xw|~eT@6h4&Z{= z!MC{pB0b~n*P(rB!Fl9@RE6r^234eeNmWEtbFHEb5;lfGtxrZ%xPbsMJIyW>wBzfE z`U##*{(bD))l7c!GZIS>jq|Jk7I35j8=zG8al zB?m$8HrDv`Fi$;Q_OlO&1=tLFlX?idk)Fx+(Xev|7YJ6W^yq^M+1dkZ0As93&&HVk zF&PL2E3g|MAxc1%G8xq>~Jyoa()Vlnbl|ZW2m?)EcmhZksge%;5u*%5QWwbYpb< z&NY1AwxO!Vi|^B&>A8TP;xBmmMI8zsdPJ@wP|=f*A>?@Lh!TBKzm{+9axJtpZ=^q~?dhc|@D|jEx1rEseG2Yb2BZ0x%-pC;$Ke literal 0 HcmV?d00001 diff --git a/test/constraint/arc_line_tangent/test.cpp b/test/constraint/arc_line_tangent/test.cpp index e54f651..2c9adaf 100644 --- a/test/constraint/arc_line_tangent/test.cpp +++ b/test/constraint/arc_line_tangent/test.cpp @@ -11,3 +11,9 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_RENDER("normal.png"); CHECK_SAVE("normal.slvs"); } + +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} diff --git a/test/constraint/at_midpoint/line_plane_free_in_3d_v22.slvs b/test/constraint/at_midpoint/line_plane_free_in_3d_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..be8a12c19358a389b80b2a868f3202fb663bb1e3 GIT binary patch literal 4991 zcmd^D%~IPi5Wed*dXC3&pzXy6ptQFR69#(d^dKAsJUEt-oj~aHq1wJ+SO1b@IgWu- zb79y&?f30UyUFiAe=ljVA(s`-$o%{oBZR&%x~`(TXp_eBGgYEyTaok_Wa|GCuSoii zktJcI%t)=o87(MFmrLoag!O%1ea>0kq}sb;WI>iu{fMip>$bEcx40o!-C}FK$?N>4 zAgRubi4-N? z9|e(-6|T~s=odO!ECh)iTqep`bEz|@Y(bd8A(*Z2Nt4}8@^VrYxFpIEXHC8#-zd8m zQmE3$I8Jyz%AlM6^^G|3y|oKg{F0EtyU0x6MKN7^+ zu9zHmKjoo|#Qk0TBizHa;lVv{BcdNUO*aPIv2&s3JbUnoqY5ps>(~vE{{j)jD{|jH-i| zn_Gv#^sseM727<8=J&4YcDU*De$xRrfOq8!8-a)DYy>_pP3&Qf;Kh2?M(~mu)d*g0 zBO4(!^1C`=xb1Vg-*!MRzzA>m0)HU&9q)b){YQ(3FufpEQ}u3hRia}J>jp2{@NT%^ z^CEgmLo0+OTUu_@z^-Bq2eN1Iy=AidVeQM-eA`w4MYi5(-dk%G!T>e{Kq*WU45)P5 zMcq#LYNql#I2-qN27d1tUfVWQRa^L;(wklg_?h`7M=wQiG2qfTa&f|k*cI)pUXD2t mE7pnJg5)LM(Vj{zf5W`Ew7G-dY<5M7FEc-o$sO2+N9Z3*1M$TG literal 0 HcmV?d00001 diff --git a/test/constraint/at_midpoint/line_plane_normal_v22.slvs b/test/constraint/at_midpoint/line_plane_normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..1c40c4c40688cea3dccff264faa69a7e98feb23c GIT binary patch literal 5076 zcmd^D&2rN)5Wf30ILG5SEpYLnl){baq|IH-=2dg|D& zHv}&+!9|LxAg5(sl4QATlm(IAXVs^S&^nRY6~PO<4CxM4*Eelyfmf);*KV?w-exqr z&2b_lq?-!NQmXU_&e7v}S}ph5=)JUFuS9@pvJBr7IWjtVRkQCeqP{Iw+a zoC;NXA4M^XM+ms#-`sMKZ?&AaA`juNJ5f=&l4Pr_Xxd~7c4aF6MPV-yL2LF%LiS1^ z{b|I?&dEV=$eng_<1TI-342?V`wG+HI_`8Gce|c>1A~_9NSSf{ei_&A7r0i+QOIUa z`_mN|q})`1AvQuiexCYly!xyYRmSzB%D8@1f%_a(nYxMU68U5Lx4wc0;OwQ3b7)-mWSD^dpNN@z%){Xoonk#q*@SaC^{g#DC(@<%NnsI8U=zT z0o0V19U)hhaMyf`zMFeku!@qbQLY&9`~?GUh#Pe|K}j2OAlagz%}y68JRHD6*>FcQ z*s>0WTZZw_W4R+waQdZ5)qA)cl{iaNMKi7r%*0gUY1RQ4I`v^_S+-uZ4puOu>R`oY z*1@wLbR9&+wvWCAeJHvgF8b6jI^YGcu6$-AFcZ#3U<*;%9@Yq!tru+sE0|G@V8u4F z5qvw{)d|C8pOSvr0lfeRK)V;%fRu0CJr3=m#Z0JPXjoG*w;3yzww!B5gD@~yPXoeDR(iNru2*mGI={Rnp67jG#isP{{cRjHpHPVET}k5^$i(lQtZDp? z(IsUxPiQ5?Ns$#SUM?GFA*>$K@^i|nI+orgqYJw9t0z+4+_t4TU6GpJbc?n1Hm%aT zjK;FUYEweks#1Q8X5{&z$g7%>G_SRSWLfbvr;AO#Ah|9I#Glf2HJ3f9KvhC8k1rsx zzC??Ru1OjH^nQ8giv7+K>X@$r;E z`(c1%=VH%$tqps%QJ*#nM7%A@T!ZOJ9rdP;`cqGxg~7`8w2WGJUevntg4Sv|@bS)R zfBFi8mYWG6Vk6w64TGQLKhqc9R@f8I&?Roo72Y) zt!kU0NFjg9!FB9O!HTmPgUd)o!dbxv9;ZbPk9nB8(0Iz%;6RZQzEy_ln`bz)Gr&Eo z1TBy_17RjuCi5Ca0h!txAPmSpe<(9{ezAicsYRTa!#F z;C2)WpjfwxSi)X3Vo$2YRy34HxbSiSP!*%Qn!%BEF+4Kdo_iwq^a)A7Hmy2&-9e3G zo2r^|bHEUx#M7JuD0J(?(6VBkbPiTAqvl}MX3oL!^we_@6Wcz!_{(e4-Eh;F{iXv> z0B+@xi+~|I7XkT#ial%*tXL;q1gn@)i(u6@auHmVr)v|2+rGs6Z3pZEFqrl(-~}nq zc=vT^Us@PK?Lwmp#l4NHNX8nr4OX<_+i-=?3;#KG@!kn;>50#o#gC>rKvectf3W(5rm h1tIX#AfDYh!{{Y-(Z6W{w literal 0 HcmV?d00001 diff --git a/test/constraint/at_midpoint/line_pt_normal_v22.slvs b/test/constraint/at_midpoint/line_pt_normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..07761c17bcfcdd6922314c61d85894c9fc1fb005 GIT binary patch literal 5529 zcmd^D&2pPC5We#oJ(~fXw7qc1q-k%Rj5A3OogNe{CrmI9f$cb*K2+Nm>`JWu2*N;| zQ*-HbSNrpQyIQUJ{pashk!|T!NfNraxFMeBePP9>^zZ#`95jC+it2qy<5Q5~|8ugY z@jFIWl+iq)6^fH0D_Fc*HO45c9@6r2%Bnh+)+M7$y7H?XDX(wZ(wyFrnqGH{_33R| zrMDT4Wro$J1h-YC>=@0+(|M6sH6v+WYX!-&Vz;2nO}-?#P71`I(si|vn3SU`Av}(c zlvw{DL`K)7jDLE+ytCy}kl4Xxgoh=UGV_8hDN{HEv(*Ewllxhk&&rJC6b(sIr(621 zU=KnHRr(kN5zhw?bko1N6%pU-bIyu9`n!IhSh<3wcWK_VNeF%=l>efzmxPfuza&1t zB>+DRc-e*6^ImGhUTxH;jRN$yC7G)*J)xuC&{2Qrxic|nxgN+|>yFE{?zo_}AO}95 zIqko`!~k+r0nXS2^XPTv^XcaEURJr*%_`TrSq1HDSmov>tFw``a(k23DfT9>W9?4_ zvAQc};c53QciklJz$9RTxt0F}`xB$DMw-J7g4=4s55~dg4o1OW(8mp}YI~26Lh%;C z(DbC>PV5}U#vv7nc)K_7=oL9U#!wy9c*@q;R3asOs|fQqk8ol~fN7`%yRKJXGS#9` zQ!$RhQxy#<43*&M;V<$!t@pA;_zn?xD3kTmk`@d+R~E3=eGh(^YY3|Hf~`rW6fpfz z0V~vvS{$LH8nGwU*iX$$gC-&!D24LToy}m+IvL>^rsDz6Jvbrg*9NL{ZyN=i!&KQ! zs{?ltNqb#+K#lsCBTCnN$ZWH?t0o*HPC2E4F=d?I$mf?uQ?JK74e*4d7k* z%0}QWIvauS1IqWXMzDMxwGpgjCN+YU+r&n2tu$SoF#POueE95uUV!zd-3xp`$~)dY z4(*}EU8r7YR3Xl7u8O3u&SyrGFfdsaNp^}7bmw{?>Lq_?{HNHtH|hkNqx;ygqUnPJ zktkx0jO1W`#{?pN!pRCB8A#~ZWi``BL!!R5pl^Z1T3oujtJG@>x=>YB&m$^SpAMLc zZ4;5soUi(r-{@@2+2#1!rD;9Xz-_2lcledso1P2!x%!SLS4J2cFj5S;i0~mWMKAVZ w<9O$#H}qwF*6fc>`x+W5R#((E!_m+d^*wyev(gZv$d;*3r_C=L?ZET?0pLBArvLx| literal 0 HcmV?d00001 diff --git a/test/constraint/at_midpoint/test.cpp b/test/constraint/at_midpoint/test.cpp index e61529f..01a1001 100644 --- a/test/constraint/at_midpoint/test.cpp +++ b/test/constraint/at_midpoint/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(line_pt_normal_migrate_from_v20) { CHECK_SAVE("line_pt_normal.slvs"); } +TEST_CASE(line_pt_normal_migrate_from_v22) { + CHECK_LOAD("line_pt_normal_v22.slvs"); + CHECK_RENDER("line_pt_normal.png"); + CHECK_SAVE("line_pt_normal.slvs"); +} + TEST_CASE(line_pt_free_in_3d_roundtrip) { CHECK_LOAD("line_pt_free_in_3d.slvs"); CHECK_RENDER("line_pt_free_in_3d.png"); @@ -24,6 +30,12 @@ TEST_CASE(line_pt_free_in_3d_migrate_from_v20) { CHECK_SAVE("line_pt_free_in_3d.slvs"); } +TEST_CASE(line_pt_free_in_3d_migrate_from_v22) { + CHECK_LOAD("line_pt_free_in_3d_v22.slvs"); + CHECK_RENDER("line_pt_free_in_3d.png"); + CHECK_SAVE("line_pt_free_in_3d.slvs"); +} + TEST_CASE(line_plane_normal_roundtrip) { CHECK_LOAD("line_plane_normal.slvs"); CHECK_RENDER("line_plane_normal.png"); @@ -36,6 +48,12 @@ TEST_CASE(line_plane_normal_migrate_from_v20) { CHECK_SAVE("line_plane_normal.slvs"); } +TEST_CASE(line_plane_normal_migrate_from_v22) { + CHECK_LOAD("line_plane_normal_v22.slvs"); + CHECK_RENDER("line_plane_normal.png"); + CHECK_SAVE("line_plane_normal.slvs"); +} + TEST_CASE(line_plane_free_in_3d_roundtrip) { CHECK_LOAD("line_plane_free_in_3d.slvs"); CHECK_RENDER("line_plane_free_in_3d.png"); @@ -47,3 +65,9 @@ TEST_CASE(line_plane_free_in_3d_migrate_from_v20) { CHECK_RENDER("line_plane_free_in_3d.png"); CHECK_SAVE("line_plane_free_in_3d.slvs"); } + +TEST_CASE(line_plane_free_in_3d_migrate_from_v22) { + CHECK_LOAD("line_plane_free_in_3d_v22.slvs"); + CHECK_RENDER("line_plane_free_in_3d.png"); + CHECK_SAVE("line_plane_free_in_3d.slvs"); +} diff --git a/test/constraint/comment/normal_v22.slvs b/test/constraint/comment/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..5082ebff72b73c2a8d11d0a00c09a252366091ae GIT binary patch literal 4181 zcmd^C&2rN)5Wed*ILG5SQ-+HVOli3>OiIIn;h@?|>ZvWclJZxEhXP)Zl`Y9~VmXc* zPUO<*x7xpNSG(4)-+%5{z9DxdPRRUbfe}Io01c=Gu*DX3cLS$2jEq<_T5lDtQiTJv!P@AK zX0YWZn94FV=n2a`d4khVb*kRgc~;^oO&iU)Iw%uU!>3z^dc2+;jg__j({Ck#LP5}!VMsu%1>z7D0Ls5P#;$DuQ{w2A0wC}@Fgk^#MNsG=(dUxYfo zv!ih<=6Pl{RT#*YO;xuld>-|N=S%$BJ|NAaRM&Ef9NgB!1rI(dB3HKUdcipcnS6u? zVd$z$?pntSAV)Yrl}4bWNn0CQ EU)li%LjV8( literal 0 HcmV?d00001 diff --git a/test/constraint/comment/test.cpp b/test/constraint/comment/test.cpp index e54f651..2c9adaf 100644 --- a/test/constraint/comment/test.cpp +++ b/test/constraint/comment/test.cpp @@ -11,3 +11,9 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_RENDER("normal.png"); CHECK_SAVE("normal.slvs"); } + +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} diff --git a/test/constraint/cubic_line_tangent/free_in_3d_v22.slvs b/test/constraint/cubic_line_tangent/free_in_3d_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..d5ca7c69d427d4e69e9b3d2f23ed19006d7023cd GIT binary patch literal 6815 zcmd^E%~IPi5Wf30dd6cr38e=gD5br1m@v>orw5TJ;K8wt?F2%n57qVstJS|uWXlSi znhV4J>D%3J?N##o&)>^3-{Q*(E%5yO8U;b{r7kyBco%Ndh<#!%YIhY*XGF&TFVGsN z?`pilH7*vo;o?P^mvy>YF=sAp?z8H1RyS=bysH{7@hWT{QFV3Ql@|CGwfJhkSXpng zCcDXTDiAiCiiB+%=~v?%J)M)H315qLu=ASub%d^PrV&?s2=gJIacqDn|w8j%d+l zTl}r8@2Qk@=_HC0z{3spmw$6ZPdrw3){Z=ckNt`A&Xsj`n-z>EF^MZu`7auKfoimd zAqinhNcwREZKvWOc&UwhwMm~giFmv%%59D5IXdY*I_W=pVg*Jh*OM}6?dO8lelF1( zDMukZbGn~CU?gSM0jQXVdvcij#NU0=TUF57s|s3sRf+bHs)D;-)uWMR1%JJ)KK^=L z$NEocVHGQmX8RxIwm|}aJ%0~(dv74PkzDK%eyXv~C%c(-q5$6UfzjXV{&6(E_$R&a zK4{@RYKJs;pW5A6!I4K7c})8A4*U<`9k|uS6glqDSWFFCU1Vi)I5PaYo(x5 zC6(>CD$Qg-S|##|mI9v>&Wko{ccRg-JVpVRi7qHf2PwC!O0v&?kACR;Cs!3^y+*lI zkk=kpklp!O-WUikm^ct>&I-26au<=VjIke$b7TdEMkcKqh}@GWIrJ+_)w-~cN}P06 zq4Dbjgos5w^**qrZZsSj>s9+;fbr^sk*D4V%UYxo=N;QV*%s56raO1j=V4Qa2>@0~ zTKW+ILdfRnL?8+^18!qu#ClaC7+}1JU|{nkf^C=G#{_rV=XBWCfeU2$>v93eFJ^rI zDIhmFyW0*B$Mkr2|;9BdcMfU}M-% z1o>UY4?5Lkx?Zm8ArOI%K6)@sro_g3=| zGGF=DA)A9|**i1PUJq znw+1Yi(XuOH1n!GW%my@E{5hK)37&^rYYMy@)JO$A3;TlDU-jqu)D1a5a^!94OiKO ej91B2x9v*=)0-Mk1|S>wn3g95sT$hD6Z!`k3 z=mv4m-1oWTYv<>$-#1yZ!Z$gZ;>pz=avbMlku7ug(OpFz`}4V|+U7VqBQpN~6fJP{ zs=#wx;B<;hE}mvdRz&kTQ|7|*Db7E{MOj5cJ1_7I&)ss3^4q&zX^J0Eg>UP{>hvlu z}qEgbOH=Y+jJp4d?`Iq<9@$RGML5-9> z7w(+hzox)Q%B%xWu^#Hdaq3}z^{}z3fZD4HsJ*HLJ*KLlu2*%`v8{Jg|vWv+fgNY@AQoO6WWfv$<# zk|=;FUALBGPsviUKar8*h$D5iFr>WeFf(yUmZL;~b_ z$pNx--^o`ELTDy-1kCBomSC)>32$;Fiu6& zuMc3t7xmQpz_!88;YeG9_Q43IS09W#^*&hkDU~?y*lJ_jX!nn9+aLXQ_-Km>09Hy` z_9FtAkj>MHKmauZ?Z(EiH7F5`V0sb3h^;3PY)fz*6WX8s79Bp@f(vA=+~oq0U(9&@ zb!c8%U_x?%K|a5?0SbgI1_c@vnoy`gV*%AZ8&&CArYPeR{E~wD3=ep{hNqLei7cCN z=kR2Wh74~TS>Itg2Piu=WPqCi1C)FjGQjO14W{2k1f6MkKI|YuQcpm0#K44PtT|!; zN%|b1ZHr+sJpG%sl-Uj$-X^lWR;pQHQ@?F-vPGfEi=W~^KURPV3o8JUbvm9EhNof6 zKExGjWIJqlFUbn|69K0jV};I>gLeftAzLq3GY&|)v{=n{RcJUNd`sc+b&f_~pe#Sq zsA)SiL%XT+zLSrujp5l6zmz{eiT740yzgjo?m-vreH+k@*N&Zr=hX#!iG?j`tXs{i zcMM^-v8Iz%kK_j^Pd`jWfhm)}_OUNJ%7CM58sB%+8JF=cFhV*eQA|GvXvrG!GgM31 rKv}{@8wN=@)C+OS#u}l^#r@e4U)3mov#+jstP7jJLCrmI9z;>KYAFAyOcJ(jW2mvOi z=F;i@X}{fX#e#qT`FoS6TYOWX1)g8sAV1LZ8OZqmGqlF> zyArQ(iL(W+xOkDLc^R)(%$W>JlYctrRFt^W7XTH`x+pDk%_uO4ij}V3L8V1tRD8 zyd=gy9Ab&rsEB`hzr2g(k`}R{mJv4=wG^4>?o-@m$$iJM!%B+JW-UtYXDv)_j%Q28sCV_`?DIM*c$roN2@w;(xCB4=KQV&A%sp7-6_BwE9N_0-VwS zlE6s~AOTKk0P!~(Fr)%{2i*R1{Jgl2Cv-JdqFc;p!@ zL@**;<4Ip_Ta2XetxlM}`3Yy{3D7zz*fnilqEZJXRHf)w!kIixtcg-E`tes;oz#0l z5wgbx9+!#!Daip0Zdc^6T7M6I=&K-CWqG+qsZ_udh$~=?y_3s3Fp7yiq2_#IYbAG~ z>A-RzV>D;eIkHNIMusPpBXSE)IP@!nYTccC0VgnJHpBWrLWH88dLP(+)jJ&-Yt%j% z$qed)fm82;WkXTGdB?UdwjJ@|`=_x3Mu|jYx-7hnfHaj>f}RvTk_9K_=fmvPnsSU}aB)6_$fix|n~$uM&# zAtYF)5|d9Mqkt{Kd-1kbv61BD(5VG7Hv(>2K-X~a3tQ3;W`A?XmWmnE;{-M zpqV%FM$;Gd1$$X0qZjE>i~1weusu!l$?He>=_t^RsVFjK@^?D+2}cF+bWh_$jh+kYtnGQZA?B98!De%(QLF3=m+(o^0(yW%Gh7^?#3P zpc(8olDY->`@cUvl=+^1sK}aLzPTbn5WK6)T@~Jj`!wP|u@JR~il%2E z6Mq+EOVbxMy{0uS*0d4gb(xoSdVS4}g|NBHs<&C)w5hbNYPzA(Q5evHM-+f^_p6hkajC>96`+C+~W@V6(qD=|G=C%s!I{aY`cfkDajKt`>5 zU(~wy1+4`+3h~T2{^<)0AoC0$V-w7i)6AFC&6mBbqSnnSYTc}Y_7qmp++=m(Nh{i$ zv`(=%dG)nlF=BO9EY7-*a#tgvy@@}L{Ozsyr#M&{g*74mb7#*Wy5FWdhyLt23s7rP z=NUPgo6JoxH+l2r9k)L>sF`AaBDH@Q+fP7GoN0$?0P?1r!WSFbo0;`(DzrZ#wP?QT z1!pGClR0#5=4~-d&L#c2qfKj%&Qi$6FPIYoDY#){wlQQ&#hQ()JDBsz0_IORk%T5t zw#IOtDB)A>uzd0zR`w3ia!PRDHRwvFjwsYr_)&PKc4HL6Riy;avHiK)jcxy==-(7= z)*fVq;?y1mLMF>cOO99+>#7nSq&`P~nS;Mj6=l68xl+KqAr$b?a-|;CprE-pkZMuR z{2@Y^uy9}$R6e?+8SPmIBa=Mfxd$g~`kq5|J}G$tN0=&_X?Z{wvEzM|ye#w>?=snE z-Q{k_jxH2fu9EGHDpi48CEFQQDy3Yt6rGN$m5gA3j1g^M#rN|SkHyiP;XMr3_60kb zW;$-HjLr+>c~2Xw{^kWT$7utv0Ca=0@M1hZWW$VUS#;rOSyVY%7FDWc%^MgL`usb+ zVXf%q<$ru34d2xxjvkB5d6CRjNh+bw9G*OSoG-Av1_Y}D84?)8RfT)E#6S(tcLS@B zqyjAq-Fp8q7`t$xdR8^2P$(8gJX{@{2qxietccG$8uJmz@tJyjqK~19l7-Jpz2Uil zzg8dM<(nrs;Gk*@x!A!JJ$k!mEbpuvLtnKo`D-XVu$QLSs(r;Zd|EMV%JvpM!AIs| zCQ59X`hN%hZdN-8OiSwxtzHxIx=YT?wWk23?1i2Hi;%4NxmEy1DlDxVu$3Bbz!u+6 nl~_JI7|g1~^1Hy$xN%x^c;j4|N&FuZi-0X89I%x{&r1Fe_M8GT literal 0 HcmV?d00001 diff --git a/test/constraint/curve_curve_tangent/test.cpp b/test/constraint/curve_curve_tangent/test.cpp index c8eff43..f175308 100644 --- a/test/constraint/curve_curve_tangent/test.cpp +++ b/test/constraint/curve_curve_tangent/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(arc_arc_migrate_from_v20) { CHECK_SAVE("arc_arc.slvs"); } +TEST_CASE(arc_arc_migrate_from_v22) { + CHECK_LOAD("arc_arc_v22.slvs"); + CHECK_RENDER("arc_arc.png"); + CHECK_SAVE("arc_arc.slvs"); +} + TEST_CASE(arc_cubic_roundtrip) { CHECK_LOAD("arc_cubic.slvs"); CHECK_RENDER("arc_cubic.png"); @@ -23,3 +29,9 @@ TEST_CASE(arc_cubic_migrate_from_v20) { CHECK_RENDER("arc_cubic.png"); CHECK_SAVE("arc_cubic.slvs"); } + +TEST_CASE(arc_cubic_migrate_from_v22) { + CHECK_LOAD("arc_cubic_v22.slvs"); + CHECK_RENDER("arc_cubic.png"); + CHECK_SAVE("arc_cubic.slvs"); +} diff --git a/test/constraint/diameter/normal_v22.slvs b/test/constraint/diameter/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..81a24e230423b2b9d60c97ecc8813a59a3369fc2 GIT binary patch literal 5291 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 literal 0 HcmV?d00001 diff --git a/test/constraint/eq_len_pt_line_d/test.cpp b/test/constraint/eq_len_pt_line_d/test.cpp index e54f651..2c9adaf 100644 --- a/test/constraint/eq_len_pt_line_d/test.cpp +++ b/test/constraint/eq_len_pt_line_d/test.cpp @@ -11,3 +11,9 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_RENDER("normal.png"); CHECK_SAVE("normal.slvs"); } + +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} diff --git a/test/constraint/eq_pt_ln_distances/normal_v22.slvs b/test/constraint/eq_pt_ln_distances/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..1e4968b5bd0c6f0d8254bce46f264daae8026ba8 GIT binary patch literal 6998 zcmd^E$x_=u5WVX+a>gae7;@1eAtbjH1qC^zav1CZRLGK$WV595QAvI<-LsFZ(PqIV zzEE^eFYk5Fs7Lz!=kG<9Z0SW#mh}Aeig=#)rN}n<>~6M=eEtiBsCv$6v;dj-KP77# zy({PqEoi!=r4TQ(BrBqu8*VIw<$augj*GI2q;+1<6}_32k0igms!LOPODcNVEY_>H zaT#AHG?E#Xn;hJhrLrq%LY_{tw5$per1va%NUDHYFPtX7P~1};OfSaK;d&x#c-6b{C0c~7h5-9ell-mW%i)rM`_&=>x;Bykm{C3M&tI&2R;cP0ic*8&-}?zpIR#|5ng z*`MK=Q~$Lk29S9Lkg*Zw;eO`x@#gbZR#EF_6}4_wLAwvDXl}B4FpyTXH)$PXZ}K|S z{*V!?yW${NG@s?JorDfd0!Ely`H!$aH2P|wIqV?VttNbb7<_bK!Vd=8!-L04U|{}e zZiXLWZn8hL_!xc<_K$1ehmwc(Ci-ssbNaBMWo1usQphF&cw~7}aLXn>W8RaBC7YZ! zFmhxmj6$$CgvL|0#+(=`;cG>hzj}m2I|4k5l;E*x=8{a+DAZI8qi~_32?_%xc#H5y zDjEy_*65Gz@BxgJlHbYEpQcq@JE*cvFXHn(5Un5w)CT#>OnNf{kjPQgiGjFAam}5P~FT4dy zd>@$DnxXJ!XY;ynp_*OIi9(@B=`kMEO;|c}eBB}P8=Q^#5O;iX&<)a6_c~P3!0@WD zH9Z&b6ZJ7g-kp&6z%%45!eVZUcCN?9^2US4(C5_$ev#tmxTX2XHN3G64Q01GVaMl( g9j&nCN2;OCsyp};Tn2ox;8J9s=1ZJQ9F*DO5toaHNt8^o7$uk+qD2{P z@Ru}yq*79)_nsF(K72tn{p(vA@mQ_1R^-Xu)&u30OY`VHN?4ot#IJzzUljHdvaY1X3OSA@L z&xJE*|5uk7fy^oZjP)=NhM7cQ)UibJ%T3>aHPj(R5ts4BU@xj3W{9tb2?~%U_ziayB zxo6<-W3R*SW3S`y2p`hd;deAY*+bvMTnFF7T*uy(JIKBh_&I)B0E`MNA6_o=VmH+}x+swB-< zD3%H`c5nr`yWGed8`)1x>5U;2!^jw8^K7XS0fm?^=t&&U81TJ+OK^Ho7cAJ1#Lom9+~?4CVN?0B zmAlX~o~nf{fk<9P24b6kRf1z8q3=#ag((uhYyW@?SwypcKqYxX_v%|i==h`G%jq>KIHa3 zw0*#ZrF}ppSsLCxMx-}Rx};@X9PPKk;O>zhw)m5g0x>SD)e{AKMA54$cOkiuS0b*E zZPj8D-Z!D?OyRvE&#!Yf`n+oSw5W!HroFZgm6x4-5~xkj2K-EZG!?H2U?cmECg%}! z(W^H>+VaZnsp+%wl)W=xL#d(pz%*<=&@^fJKt7v#dJ0q&m@@f|n!U$U4jkRmc$=rz zxQD{Yo_$)NtmHV^IizV0g>$Oor#NRvx@br}F@4FT)zl~x(`t3C(4MiX0~;0EbEX9r J4efBQ{s1hI5k3F_ literal 0 HcmV?d00001 diff --git a/test/constraint/equal_angle/other_v22.slvs b/test/constraint/equal_angle/other_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..94cfdf2fc4e217bb0a4331c26e3a1806467e6940 GIT binary patch literal 8472 zcmd^EOHTn2ox;8J9s=1ZJQ9F*DO5toaHNt8^o7$uk+qD2{P z@Ru}yq*79)_nsF(K72tn{p(vA@mQ_1R^-Xu)&u30OY`VHN?4ot#IJzzUljHdvaY1X3OSA@L z&xJE*|5uk7fy^oZjP)=NhM7cQ)UibJ%T3>aHPj(R5ts4BU@xj3W{9tb2?~%U_ziayB zxo6<-7#_?Apa*jueV^=g^c}N5*#qA-JlGFF59S8?9_j1oo711;r!_80bA}Z{ItP&l zwj%`hbl%mbU7=Xexp7Sft~4QoAUPVi#*wz#lpILmp(0EV9^uH0K%T@>u&tUn1yg$z zDk{2BIFr#Rg?~Hz@xKj!@)yHjBxO|Y#0G)s-E+81bgz=^6_KyYQgWgC>V4BM09=)% z`3l8SLFNvwAeWaLd1WK}iHRMd=DUeqCb)^{1nHwXo7SFHGSoAfOBy`a;3PpmGpN=Z zQzzi0;Z-*M>Hsc$!KYpaqEOJ=v1RxgwGKuyz3O1(rq{tTm#RAOifx{4H-pzpckP$H zG%szj1E4EqTlQ-Na8cO^Fo{dw?Ha-GHEJUm$@FRjBe$N7V7p9Ibwc~KFJbfA7QH}j z9{arj2c+2J)yJWEXn_ma3rywna~o8F@KyPYS0uDdRz?z?A_djCHblLI=ZyOt+HPzr zKelogTINf&uq6=5%g8`%1FTALOeFN>iKs9|;&<&Ia3PCm_7A8ePYso9LAw#@&C@Q4 z85v1qgNy!Y?z9#)fp^C8xarqG;KI^CpprZdZy+PmxU{!sy>Ven(j_h9;%IIP(LQ4U zA-Dgb-2*Nx-2*B~)9~&wBE5CiB`+fbY3vHoKFy8Rv=QW|E&gbvNQ~QR^+>^$#JriNYfk&=Tyf}an6o((U5v#`j$znsZl1T)#_TIJ!4e| UHY&8|ObaX;TE>;psU3Ub4`y-^p#T5? literal 0 HcmV?d00001 diff --git a/test/constraint/equal_angle/test.cpp b/test/constraint/equal_angle/test.cpp index e5afeef..9566f33 100644 --- a/test/constraint/equal_angle/test.cpp +++ b/test/constraint/equal_angle/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(other_roundtrip) { CHECK_LOAD("other.slvs"); CHECK_RENDER("other.png"); @@ -23,3 +29,9 @@ TEST_CASE(other_migrate_from_v20) { CHECK_RENDER("other.png"); CHECK_SAVE("other.slvs"); } + +TEST_CASE(other_migrate_from_v22) { + CHECK_LOAD("other_v22.slvs"); + CHECK_RENDER("other.png"); + CHECK_SAVE("other.slvs"); +} diff --git a/test/constraint/equal_length_lines/normal_v22.slvs b/test/constraint/equal_length_lines/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..a84e4f1e7a77e0ba65c8fc1efd3721c78a8094c4 GIT binary patch literal 6030 zcmd^DOHZYG2=elGghD=kH~a?eJxZ61+UWMxN(=A;q@z@BCdH@LwoI^`XS^g384IIoja( z9l>i%aGu~wh?62KNW5NiVRno; zHyMs)hSj#DZmUY!5uBmNvm&o*g3`R!3Y2BVeu-Dxe1&qI6cv9;H`P+sq#RWVf;hf_ z#QGyjBzS|$_^0>FJ6)|9h%Hz~VzIVG-Z!bg1rgr6nhibvGykn zSj~#rqWvg$Z6vTa>kotR_E!EA;-4728fi{<5Z$f1{0ZhSsUE_c)lUdNs`w>-*y5_T zhZrej7a={dJt??l1CKH8NJYX1hb_Hvi=0jZlp8|hDO+Pqij?rRBFtYs!igP$9>q$q zZyPxzQVj?-6yqRVsAvqrR}Fuj*J*u_6oCOI@PthEPfHqQh;?N_XUgxv4|4_*s=Oc@ zlqm&0dWC|{Z`W#SrHtZYPpSo<_&g;{Bo@j?dp3hT>tvW`dNlWV?x>Rn{mM&q4vnJ< zr!CjnOzQ)<2qm6oAE-i?J`63(*HQamB{QiHR&Hh=99OgMgXq}q(KQ@BUwRn6^r?U8 zfE@s=RJ5E%1aQ$x1QxetRx*=_VC6QE2(EdmjS0ioKE?fO2XKK7UrjE+ z0V(%*`*CO=THr!)fvZAsZi6b4zFKcN4Z^@=RV2w2C1}sJC+Y>nmc8`2B$rm31Pzq#SYLfGGz?Z>j~hg@2>9odo_zkev&FW1M?n%oux`7$on zs}E&geyd0>Gwk;*xb1so*O97teAm?d&=qApXhl&~&BGPh?(1z)>!d*ZzTEX!vL@xI z-xM^CFCel0h!Q)pE86^T?;r2YcFRBR`zB_hi`It;%}URz*#O zVX+y?1Nqu?_e=_1%7OsXe8hrr`1jvf#6+)icI3PNFkPtVT+@}eWzA`Vz^^RjmuT## zqAPZEllXL(K=~-3ZD(T7d#**3T0Eu2f$(=IDpzABLgUHMcsg|GObjSDQ8LxK<5I0V zE@-Wi1D~Eb$Inz^P%`fTMeGc7{4(?KeDiP;RjPHPO0{lOLHiO^skw>j>O@$ny$S0% z_9m{U+D8mn&5Bjzui*(XP7p>JT4SIcoT09bMD5M`QNXT(Bu&FC%}^Gs89^uQt^C(C zei~yiL^zCa1PINBy`B`@vU$sxwxnXi=9WEN_)QIi2vAdK zJY{Q4X;=wgD?<3{5h6PRG)@T~#wH$#)DeUliqjyBRWt@6oCr#A@$et&p&XthML7S3 zO!g1L3&~L#LfSSk(*7CzWsYD%RX5$PsFVUuexZQz@mdYdz$h;Eq+0Narh}wRVxfGD zXS3L|PKJ4==bj8T?s=k42>J&v)j6}CR5-r`gvoh*pe_`4W*M9}nyT`Anc-Gz4K~)^nW5c9hXMB4L2f^mI--M-l#K5S zJ9p|r70Xp}-&2*M>P%S+aJC{{mN1UDHBAGHFHn~KNW7MfJQggMt;6-+_X>rmZ?eKS zXAi|iqA|-J;X+YFo&Q3iXte;>V-uE6NZ-jtekW&R-t&&H;u_XD`W}}m+74f{Cew2j z{!V@Gm#|p>6vTaaxFd0ENwH~!I%H% RB5cdl&n)~)fDZ0?{{sX8*cSi* literal 0 HcmV?d00001 diff --git a/test/constraint/equal_line_arc_len/test.cpp b/test/constraint/equal_line_arc_len/test.cpp index 56916a4..385b5af 100644 --- a/test/constraint/equal_line_arc_len/test.cpp +++ b/test/constraint/equal_line_arc_len/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(pi) { CHECK_LOAD("pi.slvs"); CHECK_RENDER("pi.png"); diff --git a/test/constraint/equal_radius/normal_v22.slvs b/test/constraint/equal_radius/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..57b6d9bf5328a79fff2b52d9d189e81ed27770fb GIT binary patch literal 6251 zcmd^EOHbQC5Wf3w^c>4}pz6g33beNh1wjv04~w%27LIM!PC}^qquTz#&c1gOuU`pL zrE)>c?7Y7Dc6ZkN`u*p&$Ts-4L8hH^nv|m|K{Spp zAhCXl5(!?RGXCNH^e*Oe24Vx2kytFTl$jS~j)|&+AzMA+I(eL=`J~KHj)fsg>U4v@ z7UYRZp-UfvAfow*1-9q{}qtGzr14Eaksw>&?`ts7OUb)yQ}V^F2$CaRNxuu^*y)-m=bu0!q5 z7_gcZlQ3vL%UwH(IxqnkVSi?B! zp@w1@gy$+6gYZqmU*~mN?<7U&3=w!jCi|x)du51qWdUQ|x8S=uh6q(&kQK_50!}}n zfD!6m4UWJlF7~8a@QIH!!i1#*7nAbQoK0`fIvM5}PR9<LDg{X)C1@_9BkB#kfc%%(IZ)~Z z`O;nNn%(ruex+#8BxgHHY3WBtl_$MmtfsQmDK%u5M|I&!uqJkl)q|jA&rO*Q%P$9}KHc^|81_qL=|%LD zOKWEyy8lcv3OGR`DDbb3&*95cp<2yDmc^r70mU{^xF1Yt~^ zQ@MD&|NHGqyYTzZ-&>k*$!&>KGP}OV2%#^GZpvU8Y?H8gB1x+EB}vYKCjS?BO_C3c zEC?e-N-9ZCX--+PSTxF#Sgo@1bH=JVQQ9RVbFv7k9WL+g+th+Q;+oubla2H?tFnij zBr3vcQ-ay5(t3>K`1y(!Rn2f#)P{lcobG01zA5IoFhK$NQ?{;VDkp8IN-_5nNJyL? znIa==TqZx!FLXJd3lKZ7jHR%`QbkVLoG_h-K(<sp&atcmaCVfyYK&Rh?08)?F>Yw9YbS`Zp2dLXa5nWWWw_uQw+sX+uVeEeqPrbg3f30W7qQ?q~*E zHo*wXa6KHb+><9b{o17JU0jYzoTsUy8CM5xB2swTbpVD*eHdDft&`Tl31(CsoY?F- zc*cXNgRI#0**BnHi|&Vuz8n@EZ~}N&zOfOwiOxpg15w)^)(DQRlQx1A%&10iVjI~A zzM0g45C#UTJ*iI7 zgzi`mc)j6sCU{P~i<1ek5#1-A9mNO^%tQlo;!F<4cd|tEE4s{GB;t(w?wT}BB8Iy( zp|Q|IMKW}C2izrX6?x*}eNM)AbTsyf_k1K7UiNmXvh473(;J>I@hkoLM=e@#*x(>q xbm8G5v`MelIZM3rs91a=*1F4P^J*>*i%aVzeClzW2~zCR^mnyp?KTDw`Ufy?2BiQ1 literal 0 HcmV?d00001 diff --git a/test/constraint/horizontal/pt_pt_v22.slvs b/test/constraint/horizontal/pt_pt_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..cadcdbaeeef246ac75b3367df1cf46a53e7621cb GIT binary patch literal 5018 zcmd^DOH~)(}U_L;K7lNh;qvCTO{L@xSLCLfTuW~=p8d#4 zVj|?563lXL^%%+V(?vmf#c)Qent}7Y*e%F%LzkG=K>_(=w&n|i$r|D*7JdSqlExnm zk&!hnlb`4pI$thj5<7AkYhja16M4awgjpOiv;2Wn>HRFDvogn&Xhob>*_M1Q*n^}( zmCnL27V&6-?(}bdNRRJpId4TCgIzyRUAcl~cNtY}5`kR<<-aKG6=rxXh9nSE0`Q|y zlwFb$ddZD?xp5yi4z;~4&V7aHaUJ)%j{9BDy@5f?^*|O}zhA-i`vqT58k6))gpRPXd&8pz~vnsg$tOEBnSrzJTR%avAD)im7PSJPsI#&NgCbsU1 z*=hGv?i(bb@8Tb+4jl~BQoEm^KFa%oJZ=cDnp@luQg~{;=@h=9`%7A7)!wv- z*x(`3G*iEt(t@Go$^wq6Z{c_M2+%BAurC1aICGP)}ay1 zq&hTkx^?jErW&}e*!IbH9lR9X4;OttEIMEUL|4AD5rhd_Jhu_VHnz5hjZMSWQ5&HV z%%nzW#5S=Jdx`U_0cL=p5_lf6b zsRaiBk(a!AnoJiR2gt$j6yhV`uwS?}bcv&}Kf5d9Y!PiDHmR_~sTnpU1BSD$qDKhs zO&#CpXxtI<{Nypb>TRgH>hM*iH#{Hk3;Sb^xm?6-M985_4`-oEdU2jP;+=!y@XP94 loiVC;8=Mb{qvq4$6xBWaoYM$FlHw-K{&uF0>)HT9{{W2+{p|n% literal 0 HcmV?d00001 diff --git a/test/constraint/horizontal/test.cpp b/test/constraint/horizontal/test.cpp index 4e07438..4dc5841 100644 --- a/test/constraint/horizontal/test.cpp +++ b/test/constraint/horizontal/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(line_migrate_from_v20) { CHECK_SAVE("line.slvs"); } +TEST_CASE(line_migrate_from_v22) { + CHECK_LOAD("line_v22.slvs"); + CHECK_RENDER("line.png"); + CHECK_SAVE("line.slvs"); +} + TEST_CASE(pt_pt_roundtrip) { CHECK_LOAD("pt_pt.slvs"); CHECK_RENDER("pt_pt.png"); @@ -23,3 +29,9 @@ TEST_CASE(pt_pt_migrate_from_v20) { CHECK_RENDER("pt_pt.png"); CHECK_SAVE("pt_pt.slvs"); } + +TEST_CASE(pt_pt_migrate_from_v22) { + CHECK_LOAD("pt_pt_v22.slvs"); + CHECK_RENDER("pt_pt.png"); + CHECK_SAVE("pt_pt.slvs"); +} diff --git a/test/constraint/length_difference/normal_v22.slvs b/test/constraint/length_difference/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..1d85e47661260fc0fa6783b2334a21afb9800178 GIT binary patch literal 6129 zcmd^D%~IPi5Wf30dXC3-2-AxXl+xZhOc>~)(}S8Q;K8wtzu&G_EC2rU_omFZ_@+V&Jiod_K@fZ<<)#WB!fhIfUo1)WzQXAYX!8F8t#SH} z;1wpgSYRs2i!v`sx>^ZkNu-Zi^(iB?PL*~=@Di^=xeEhC8P|_0NcvABVlFwHmqaxZCsDlKjXlf zu9(EL_F3*bNz8x^zzB6G{t^0TR$m>d4krjs>nqY{2JH0X=s5V8zLWnL12zEt`g8oW z!L)Wa8Aar`A&l)n5$^fcW9>YOvEbXo2Cm(*fOP=+LvjMGYwb#jCcc%2>6?2vb3MR3 z)`VT#-l33cKxm*i4#JuC#vy!D_g6)o)qB+SBkNmKPRltvm-t}0=%{1$z;7a_?i zO0q_|X2ATF3|Qjs^y&&7CCGtd%YG6|l~hq!XdCU(47O~7;g(@O_gL=86P$h#sd_iZ zqY{Ubn`p+>ftiREo^~C8VNxH4mSgLrb#Q_iRRbPNGpZ4s*hV&jZ>ehQgyFI;X}|1%UVsIx z*$Zqysx#g`4&9-}Oz2(^tXR%%#!8f})?3biFfdr{Np*@Qw8z@x^_tx?;dAQUTup#N zbf0>bL?bvb6AjFXGwF@*l!@?1q^dAaBtEu(m(moG%}}7#q$a=0iG@u{h3V~7cB&3A3lPl35|x{OC&@0)`07%slvmVvR9sr zuYJgfuI1ZmGaCES@O3KmAK;^JWQWX2iA&R8*j@56qg7b0 SRutFaKJ}edcwHEeLGTZP)kV($ literal 0 HcmV?d00001 diff --git a/test/constraint/length_difference/reference_v22.slvs b/test/constraint/length_difference/reference_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..08c5db8bd36a70978ceeb28bb8b9a128e16aaba7 GIT binary patch literal 6129 zcmd^D%~IPi5Wf30dXC3-2-AxXl+xZhOc>~)(}S8Q;K8wtzu&G_YyJN7_omFZ_@+V&Jiod_K@fZ<<)#WB!fhIfUo1)WzQXAYX!8F8t#SH} z;1wpgSYRs2i!v`sx>^ZkNu-Zi^(iB?PL*~=@Di^=xeEhC8P|_0NcvABVlFwHmqaxZCsDlKjXlf zu9(EL_F3*bNz8x^zzB6G{t^0TR$m>d4krjs>nqY{2JH0X=s5V8zLWnL12zEt`g8oW z!L)Wa8Aar`A&l)n5$^fcW9>YOvEbXo2Cm(*fOP=+LvjMGYwb#jCcc%2>6?2vb3MR3 z)`VT#-l33cKxm*i4#JuC#vy!D_g6)o)qB+SBkNmKPRltvm-t}0=%{1$z;7a_?i zO0q_|X2ATF3|Qjs^y&&7CCGtd%YG6|l~hq!XdCU(47O~7;g(@O_gL=86P$h#sd_iZ zqY{Ubn`p+>ftiREo^~C8VNxH4mSgLrb#Q_iRRbPNGpZ4s*hV&jZ>ehQgyFI;X}|1%UVsIx z*$Zqysx#g`4&9-}Oz2(^tXR%%#!8f})?3biFfdr{Np*@Qw8z@x^_tx?;dAQUTup#N zbf0>bL?bvb6AjFXGwF@*l!@?Xjo6*>phUcNv;M!OCrg2$#c%bME&zJb6e!^9|Is-lqEIRivJGV&(A0(D| z>lwB9@N{&MPCOIJlEeH9;zBI>V#XYBKM1b4!7OfBKft4JWQWX2iA&Qj?C?HpX)iNc Vh2?5RaUJec-&uvP3!@VR{{Vv*MbH2M literal 0 HcmV?d00001 diff --git a/test/constraint/length_difference/test.cpp b/test/constraint/length_difference/test.cpp index a739db1..c66cd26 100644 --- a/test/constraint/length_difference/test.cpp +++ b/test/constraint/length_difference/test.cpp @@ -6,8 +6,20 @@ TEST_CASE(normal_roundtrip) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(reference_roundtrip) { CHECK_LOAD("reference.slvs"); CHECK_RENDER("reference.png"); CHECK_SAVE("reference.slvs"); } + +TEST_CASE(reference_migrate_from_v22) { + CHECK_LOAD("reference_v22.slvs"); + CHECK_RENDER("reference.png"); + CHECK_SAVE("reference.slvs"); +} diff --git a/test/constraint/length_ratio/normal_v22.slvs b/test/constraint/length_ratio/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..08957de7c0fa9ffa5b21958eac26efa251c94f00 GIT binary patch literal 6167 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 literal 0 HcmV?d00001 diff --git a/test/constraint/parallel/test.cpp b/test/constraint/parallel/test.cpp index c0e3caf..065976b 100644 --- a/test/constraint/parallel/test.cpp +++ b/test/constraint/parallel/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(free_in_3d_roundtrip) { CHECK_LOAD("free_in_3d.slvs"); CHECK_RENDER("free_in_3d.png"); @@ -23,3 +29,9 @@ TEST_CASE(free_in_3d_migrate_from_v20) { CHECK_RENDER("free_in_3d.png"); CHECK_SAVE("free_in_3d.slvs"); } + +TEST_CASE(free_in_3d_migrate_from_v22) { + CHECK_LOAD("free_in_3d_v22.slvs"); + CHECK_RENDER("free_in_3d.png"); + CHECK_SAVE("free_in_3d.slvs"); +} diff --git a/test/constraint/perpendicular/normal_v22.slvs b/test/constraint/perpendicular/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..342a04983531271807bfdf39700d012ddbb28172 GIT binary patch literal 6041 zcmd^DOHorw8FE;K8wt>?DLve^lE)*wtHdEWZ*? z&4poC`}n?HNo)Q7^Y^C6w)mz*30_>?A#TXx>`s~%2Aad8pjuu zSbqdWg4d{we|o>Xi{+A$*urHb7E3N=<^@?|qHr)~t0!D1kFzwNl^M#hFhoh6Zt=H* zJTWO$=|d1iG#{~`o&L=|i}+rzb5`Wp-*p2Ol`Ba4kmkHiLhvi0{1=72Mg*P3 z)BJTM29S9LC}R`MqvOoy)6M6dtWvF;RjPHf3ff~>rRFB9vyrq?dz02F_9m}m?avso zx+`YkdHY%J+DX)bNx%eiEB^`hXGULz!MOBc3&D0h0zY+N;vdT&wYLbEg1}^;m%s&n z-r%aXCmAVZw;>$co)kQ=smGXkq#|L{!v?P1B8PDR`a@_uWoyhzkrKXDg!!9CII|6^&8&rs1#hI<5DzMd%b0ctR%YrzH&-VqIClVEH}xVGcq< zl^0}*XEWHdPKJ4g^SQ@!2Tln3l|yw- zj-!A>$#pi<>OftDl25Y^pwQ5Vv1R!>X&tO&Ce^{p&8&mte%5sm72CeJCZxlq`{7Gp z`Y}v~=tQD?4{HR=*GU_}N@h|cSh-DX1lLg2)(OMczQ+A)2lN6A zV9j2j2c+EN?Z=^gXi*oc7q}`E=QdSE(pT#(r%4!?tcoN%MG4w-?TLC#?-~Ckc22H3 zLB4b!J4PhEa3B&z%!!fo<|l!;X2nrR*jJ=1F+&oLZ6NAGRncxBs!}}llyU&=R-_Zt z?i$@Sn~L||3Jrv!m^n2R$7j$Xl%tWTXEx!RcMw#4_z@&rC^FPsA{45%23$u?6PC`L ze&mV#+7B7tv}{^!W@BC&j)zW7YhT@)&PCnffub`#7w}8~)(}U_L;K8wtns zIZF&ev8lkU5LS<~oIaeEg{V2rin?LYJTLDTY`H0xv}iy9`9roA3lozyBvLB<1elW6 zFAR~hHLa2#{#kHav7tr$)!PF@+IRo4wYGP%j)!ImKC!qrv*brn%3EteJS~^ zqC%D4g<&l5pg@26H{X@Vw~d^)B6q?4aG+SZl4sXhq1z+^yC#(XqOj+b)3qFuKu!sS zABD2)icH8;ZZyb^hq!Tw_O>+l6=uM7Jm@+ec0Kn3gO(czS#te;CD-p4xUG=GK)yNM zpCMonvaW#4*aY?XF!lL#_4!~{CD)%-$@OOyxQAp_s=Ha8?U`1o@1}K%zMI#5^^a6y zo35B0_dn&nL6Z7z{1epuwSoSIS(*+`>K_13s=MG8>~6zE-97;fQLPbp?}#B>t8>9Q z77Qa*Yj*?tsw`lSLS~Uetgdrp#FqG49_Fv^;i&5&vV=~SnrQdS(y=v&Svt(aSy5;8 z&J+>{N~;P$SO*{rnzOn^MeeyVXo}u27RH)#IUg|^i6>( z3Jz=rYoi~{Xv+;4Wf`8QXDkoI2~I!jP`!uKUV+OnEt+X{kR~FNPqz+wx$X_e+IrDC zw7^WNLn}_V4xaVY1dbKkKKKrVr=q*@qL0suj+g-1l?OJ0G+~S9HiBHp*7mruY1w+w zMreVV)CetX6C1&IQ}lJhc-hC~dD#)Y00&5?7i9075%<1^=kj?D9unWZ)5NAFcZuh+ zX#_`rRR_DlHojB-0a*LbGsdUDwiaQ3YMpg}CSnt>oib$D@f$H^T@{=KxDFBD-e}xe z@O-`)U)pY{SX#Iq2jTewKeZob%n2f!JR%MqJ-DPNr<5aJ)hGJi&>h&~yw@B(NDim0 XZ{X8Q=(?orm9R literal 0 HcmV?d00001 diff --git a/test/constraint/points_coincident/normal_v22.slvs b/test/constraint/points_coincident/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..cf4d13f71296513d080b73a93ad47232667cb1b8 GIT binary patch literal 5020 zcmd^D%~IPi5Wed*dXC3-pwo*F6liZ9CJgk@=|MP3@ZeZRb`nCT57qVsyOLM3Y%F6N zICPo|!~XBLyV^~D{r+>w(;d6aY0MVq*OUQAS!j7i`H^Ua_b7)peViu{AB(RX4eo-X%qH zld?!hSZs4JTNFl5u#`TW@~kKYO|r6P&@|=y1zT>jCC%!ffP9v0iiOU}7%E~a{dfpT z;}51N*oNlO5Au_oESCzz4lF|y)>!JuxmYq`@=(YYcdU$WXGu28Q<^bUq;Z+-*jFy@ z6cwuU!S_QM4+?a{zr9f&-`8@^irjnq{zS2ITqNrxtJ)+0yE>KsqOccK(2X1tPfiJ> zANaEDicH8;ZqUmO`?#Tx_I5ON6{g2^*y}p%cRhCo1})cLHmp;+?^JDS0k>tK{+c$}WG+><9b{ZggsJex)(F4Hv8Osj)55okQ^I#jE5bU4P=tJa|r z%%nOr^0e#VSWb1~Sh3xM>pXZWdKfPH_`K+V36Nd+!bXrLO!4eSkn7mk9yT@&Td&#( zjbJ7|^x2?0{Z?^P|-Z(EFyc-LGNix~j9ekWaVw5V$S{};n9jBe&JbLj7~kk< z>=|6$5S#@341_=2JaRvTC literal 0 HcmV?d00001 diff --git a/test/constraint/points_coincident/test.cpp b/test/constraint/points_coincident/test.cpp index c0e3caf..065976b 100644 --- a/test/constraint/points_coincident/test.cpp +++ b/test/constraint/points_coincident/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(free_in_3d_roundtrip) { CHECK_LOAD("free_in_3d.slvs"); CHECK_RENDER("free_in_3d.png"); @@ -23,3 +29,9 @@ TEST_CASE(free_in_3d_migrate_from_v20) { CHECK_RENDER("free_in_3d.png"); CHECK_SAVE("free_in_3d.slvs"); } + +TEST_CASE(free_in_3d_migrate_from_v22) { + CHECK_LOAD("free_in_3d_v22.slvs"); + CHECK_RENDER("free_in_3d.png"); + CHECK_SAVE("free_in_3d.slvs"); +} diff --git a/test/constraint/proj_pt_distance/normal_v22.slvs b/test/constraint/proj_pt_distance/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..01ba48e0713dfbc4dda91832ef6b87111c95205d GIT binary patch literal 5142 zcmd^D&2F1O5Weqg^lSv!se0j%rfF|gS2S|2?}P(F1F)TeWX--+PUMpoy78axJ~fcy^PM z#6-xqC79*h>M@ez$1_^+is7uNY6i}8x?hsjwpih!4hqPhvJGFFoU9?9V&NyykTm}2 z6dBpzGWm&qq0`k$g4ls&tc4AhCUVMFgxNeKvizP@>D??VW@U~Gq7`vkWjpeXvU^E| zDt!pUSj3|Ry5Zm6NRRJpId4TCf_;CYx^k3dw^^auBm%o8mH(o!7ntFV7?MCt38Wu| zqU@54&~t9o%Z>ZEaj5O>aPBKikL$SCb=>cI?hOoDt|w)|_4^fEzhB@sQVs+0%xVAn z0)v!Q1q5Of)Z>?_&!?-;dr=i!KdOT3M-{j)K~<=`sLn>hD)e1gr|7%5j@4gCVC$}! zMPc`|+&4+WfD6FMICW@Y7#GL?1bx^2@$i@AVM}<`T;zr*mjOJrkRja4rSGhK!${@w z+``tO1#ClrM{|(XbxwuY65q*@h!Z&n(UQ}6i zFfAgMc!)I3)UT$r($I1xg}dr|_`|&eG^?O&gLBJ($B$;f4RdWTH|QuuMux5XN!=7$ zMTP^L!P@AKX0YWt7-<ZgQr^uwOmJsV{N@^ z9U8$*szW1Bw+^25R41-0wtMs)2+u_i!$qHtiw>9o(UmW31YyD!&us*;kge@uW7Dwp zs*TVHW>O0qzMG<}6Nbw^CC6n4^a9);tzLlMx0UUF8g{O$I-3je=nfte?=938 zJtUs1r4}5JiM-~`v&pp4D`j#tK9%z!@!e0uGqJDTT195kSfSlTaTbX-5gRb$~904!Y6vkT1; z@0=Bf53iD^zV>&-%IZ`dJZfGWoR5m5`rqLYd4*{`wG$mKt?uBorw8FE;K8wsX--+PUMpoy78axJ~fcy^PM z#6-xqC79*h>M@ez$1_^+is7uNY6i}8x?hsjwpih!4hqPhvJGFFoU9?9V&NyykTm}2 z6dBpzGWm&qq0`k$g4ls&tc4AhCUVMFgxNeKvizP@>D??VW@U~Gq7`vkWjpeXvU^E| zDt!pUSj3|Ry5Zm6NRRJpId4TCf_;CYx^k3dw^^auBm%o8mH(o!7ntFVI3$5MC6Im; zin2>GLeIHTFE{Sv#-X;i!?~|8J+9+k*Kxn=xi>Iqxt^2-*Y8(w{eFSlNI49|ozwpH z1qLar3JAm|sK+l;pHEkx_o6DeepCh5k1B9qf~rt=QJsy1Rp`60PSJO99jm{Pz}8(c zi^A@^+;@_M0T+Oiaq7^*a9kY!6ZBp8$HQNehb`e%bC4UN90qV}Aw#&8L*E(shLOtQ zxrM1i3z&ugkLDn&>#Pc~CBBu1`I~!Kv^_+YuZ#0Cs|J~hLF zGT?l+RrD!>rBlZ@IvV#Bc^*DSqh(Xob%zg@-tc^hpV=oJv%HAo5g~`J09d%BXB(O$ z-g#CWK72}^`r6+SE2~qr@Tl|J;CxgZ)&CBM$Sq9kshQ|-X>|uLL!q08B*jgdeTIWa ZBu9Id@iL(6H78YYNM;M~S4*vf&_CFHAlv`| literal 0 HcmV?d00001 diff --git a/test/constraint/proj_pt_distance/test.cpp b/test/constraint/proj_pt_distance/test.cpp index ace5d36..4f7c705 100644 --- a/test/constraint/proj_pt_distance/test.cpp +++ b/test/constraint/proj_pt_distance/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(reference_roundtrip) { CHECK_LOAD("reference.slvs"); CHECK_RENDER("reference.png"); @@ -23,3 +29,9 @@ TEST_CASE(reference_migrate_from_v20) { CHECK_RENDER("reference.png"); CHECK_SAVE("reference.slvs"); } + +TEST_CASE(reference_migrate_from_v22) { + CHECK_LOAD("reference_v22.slvs"); + CHECK_RENDER("reference.png"); + CHECK_SAVE("reference.slvs"); +} diff --git a/test/constraint/pt_face_distance/normal_v22.slvs b/test/constraint/pt_face_distance/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..2e4195e0b4d7c53687a16126daa3009d4c500e76 GIT binary patch literal 24971 zcmd^HOOxBi5x(s!kW7XC__mjKX&xh;b!?E594X?Kgu)SX8x~4u>Utgb3*S4t+r?wlYj>q$t zxAp#Z+E=GeDIouNc)Gq7Hc3X;T}9-qxJ$JEaTA;Rsk&_cx%k)O)qYQ%*yGEDPZquu znxC6}-AFsAXRn{@cK7MwaC*2Lt5eMvR=f7_T>o-zK2s`-QbP3M6Z+kM`#>cY-8?iR zzplQx4dszLH;0dh6H_1tzQUA0W?)k-u;35=I}5A`I}L38wQX*DXF!QRC5Owat`-F& z7Ud`^GV+hhy7DNmyTxdf>r;DZUw*Lj=erHx51u^OD zi!(t~l#Fvhq%%3sLL+jOs69j@#qO9IB#DUzgm0>*dLm6_MY;<3K8^@XQu1P9kH*f? z#5I~koZoYG#DL5pI&q3l+@e!dF^HeTWHO4&C8M}p7}ZRUR-{LpAD3caGK&E5*ofuH zwB_me<*C!FWEA%*8O6N{qf@*}maATU2y`o1uex>2deyI?>j5Jj=}Ja%$HHi))?nVh zYr<*}vKK^m3HcC5;S5yYhsXz{1=mCG?c|SGj`)T%SCj5-{p+p1w)%Ek5b2hUY$XKY zBi))S8*?$Rqg&h?>T)%pT9@{PmNF6@9!3GMtzxwHX%&!b18^jRR}x!Rkm}v&KPFW>g$BJJmQKO|dhaN9_44wk@%z zz6_uGn}6zn3Sj+$D>5z-2n!iJH4$K-tASxd7vvKM?87^Ect^&Rnr$cRx9`;lkZ7TN!H^){d`=o6_>XIw^U z`yR;SH)Kn*`np9Q4>|?e)R*a&h;tat5>2swS1W1CStNpmM0-9U6J9A*x}j(0XxlGy z2`?IWdg8VRYolT^a@gIu)facuR33MD=ys~77*6-W{f29;gmR99kQS69^QA6o9LPW_ zlvI$GugS#Fa80Ec;R8>IhI5vBjtai!0yX%*e^fMsMg0S)C=0B=IKT<>As^Qv7YQ>y zPYc1q%+s|Pu=BJOL&LL4iW#1#0*A3vnjpL&`6w+Kozc>Y?=quhSifOLZ$xUbj3zBm zQ2NVC?|>xCGDvJFCT9~SC=XBEoe)1dY4(DHnly9tKw_+9PSs1u0q0CTuojF)8~!Lb z+{19me7NCr14`#>szW>`S*00vvdYj7PF6TN=fS56(Kjlb*%8vRRu~)beepxhMnhk3>NB2?Nq;;v!ZsUsXEoLQyVkvWREloJGdBpg+FO2 z6Qx7g6Q43t(^G8XE{5`uJId&Er@Xs0kMI%`xj-i$a?{UVjv)8ffWdG%4tL#)cdy&# zxQxiZ-dm+*|Kl!3{-r*A{M0UydJ@7wnSNmp^GgF+m^4Hfro<52z@?Zpj4eiYi~C!1 zc>3W*M7P3?gmXNW0rJ0PS;D&sm{?4G%vt^H7rK7oL9p0T^_Q4-$n<`t4dviPmRZ=M z%3-dyl+Lm&+8Elwt0kCrVSI7*EIphVLT*zzxGW5iA+HYUAVcaw1sUY22+hX+0509N z(ZLKR4q=Oshe#tCj!DDfgwcn|1IJo{V?~0PF;1Lb$T^88A{OIsO{ZxNFP~WhOnrph zZrdKX*gD4-WSsd@=k+-DfXg{zk%MXjnQl4CIWv5K+a(IR=P0 z;E?wcIpB!)2JbJbfYToqZ2N-D9#W7{{%A;$&`yvR-cS)8xM|U99j)W2SeJ2J7J0VL z*U38LyF)N6)U*lGpo!RtfFMH}6>)(Db4b*J@M3~A9Yu+W82TZeLvjUWW6gIdZ(sn4 zx3zvu1TZc^HX6$9@bm~`i=$Hz8$-L)Q7V>8T_HhtYe8Hbdo}X<_9*BKQeg5EVw)!hhVKdofX?K+Fg6YdCEs=#1)*UY3@Sy}_VW(nTp()oPkx+$ zfa}y9sBPVJc`g{WiewX)*#GohG)#X3t|}Z(!}#K88fK@V zAAH{zh0`#`4m=HGWN5f^0P0LG3}d6h>FZnbtlapY(>zbpO_XoaWSy?p zc~TV1ezKpPsYV7TChKz9ue4-``p$BaD^Mi&slAM^$Z-PykO}M~f9NuQo}*V!lF%yq z|D2nP+{f$+@~Nl6iu4M$%u>S4eoXuRO!B8c#;-ro{rQja8(RPvKg&@gDu5nCiwdBB zyn}c<^I?CGXkVgu3Sd@QK12=@rhwEvV?<5~B{<3c{7qtHxrf%~a@O-{0aBQ(p-pqh z>2wEDh%}4rtTDk3ZK)3?2BZlvjC@TH=QkFkEW2bN2W=s;G>b}j57Adn_Jb#rV~MB1 zLb^10l|<&h{GrSLS!!=0NZq9ZFvG&U>a$G75EEwwYhVpv{6-f6%5ZEIpbQ6YC9E<) z83utCQU~X<-T4$Z?<@v^}NDlYFa7C;VR6n9bDZtPUI+B!j$aS-zH9j z9XI7F#MiMcC8k_VbV0P(PD%>A$0A^0!&nrRIfR*KEzZz{tFnM@nk^qp`Z@)M&>%Orf_a73nWDoyFv9f%`d^hXuo2Q2(IAS%5L3eMWL(bNJ z1Vgmtnuq{jYlBwpZICEG6SG*SwmUe(GMTj~zoDoKUk)rbkcGao3JVv4SL8bgvIgW2 zT@B1sffE7iE>(b;7Uoxf+<2$+haD*s!kW7XC__mjKX&xh;b!?E594X?Kgu)SX8x~4u>Utgb3*S4t+r?wlYj>q$t zxAp#Z+E=GeDIouNc)Gq7Hc3X;T}9-qxJ$JEaTA;Rsk&_cx%k)O)qYQ%*yGEDPZquu znxC6}-AFsAXRn{@cK7MwaC*2Lt5eMvR=f7_T>o-zK2s`-QbP3M6Z+kM`#>cY-8?iR zzplQx4dszLH;0dh6H_1tzQUA0W?)k-u;35=I}5A`I}L38wQX*DXF!QRC5Owat`-F& z7Ud`^GV+hhy7DNmyTxdf>r;DZUw*Lj=erHx51u^OD zi!(t~l#Fvhq%%3sLL+jOs69j@#qO9IB#DUzgm0>*dLm6_MY;<3K8^@XQu1P9kH*f? z#5I~koZoYG#DL5pI&q3l+@e!dF^HeTWHO4&C8M}p7}ZRUR-{LpAD3caGK&E5*ofuH zwB_me<*C!FWEA%*8O6N{qf@*}maATU2y`o1uex>2deyI?>j5Jj=}Ja%$HHi))?nVh zYr<*}vKK^m3HcC5;S5yYhsXz{1=mCG?c|SGj`)T%SCj5-{p+p1w)%Ek5b2hUY$XKY zBi))S8*?$Rqg&h?>T)%pT9@{PmNF6@9!3GMtzxwHX%&!b18^jRR}x!Rkm}v&KPFW>g$BJJmQKO|dhaN9_44wk@%z zz6_uGn}6zn3Sj+$D>5z-2n!iJH4$K-tASxd7vvKM?87^Ect^&Rnr$cRx9`;lkZ7TN!H^){d`=o6_>XIw^U z`yR;SH)Kn*`np9Q4>|?e)R*a&h;tat5>2swS1W1CStNpmM0-9U6J9A*x}j(0XxlGy z2`?IWdg8VRYolT^a@gIu)facuR33MD=ys~77*6-W{f29;gmR99kQS69^QA6o9LPW_ zlvI$GugS#Fa80Ec;R8>IhI5vBjtai!0yX%*e^fMsMg0S)C=0B=IKT<>As^Qv7YQ>y zPYc1q%+s|Pu=BJOL&LL4iW#1#0*A3vnjpL&`6w+Kozc>Y?=quhSifOLZ$xUbj3zBm zQ2NVC?|>xCGDvJFCT9~SC=XBEoe)1dY4(DHnly9tKw_+9PSs1u0q0CTuojF)8~!Lb z+{19me7NCr14`#>szW>`S*00vvdYj7PF6TN=fS56(Kjlb*%8vRRu~)beepxhMnhk3>NB2?Nq;;v!ZsUsXEoLQyVkvWREloJGdBpg+FO2 z6Qx7g6Q43t(^G8XE{5`uJIZLVQ|O~X$6&E|cWWNuB_?u#PCn$OpS>JG?ymuZ;c^`A zx)<+Wx6N@Gk$=6nO3VJoU5xxoefapPT_W`)gn=^s!XDDX;j1o7R(`03&M*D(sUFhCSvG^cn--Gl#Mmt zrM!UwB;MBgF%iJH1ledPx5LvTh%JszL2L}|Qb(y+E_H)WHCGf08S zJGJ?xIiT|)TW$1D3~-ou0A@6H-a(uLJO?-3B2Lm|P~cqXIjcAwKH*yi^WYwi0b$x3 zAduns8OC=e5YW8`dnOE*!-{R57#O}Q8~{3#^TOCTAe4ODWfX*lX)vf1UE9w)h;xCc z)j#=h0s^j6cc8X))8)Bf)GCrqTxJ{e1Y_zh)PCriB2R|`_=XZ%#I{?J9UyBLIG-?o z8E~+6Kxr6b6idSlHS~iow_#u!#`jLGXyby@xf~eA#{sD1tAgVIHB5!+h;6 z3@s{v{_zgt?aYV$L85($;wgYxW%&>}NSFdr_lyxaC6wSK`|~%6k>ws*o6A|xrv*r1 zvW7OzA*a(FNFmZJva`knJG7-fm>7^Iz%cSPL7d-MjI!*KfgH4j$kHq-;XOoOIoS`M zOpYa<1`FxZ8AD8*6|8|Zfbkn$1SrF?Re&-a zxRtQV0A&~iT1Xwx8xPT|=^xc1#gzMc^}N~QY1Z=!lc{N?Acw0kw{~!K*Eo@*XbDrY zUw@l84R+j=s}Ntuwv?E1G0_FlVmm1*@E(hRfem9(ROS$7p0zkb6Ryevx@oq2FzM?Q z7?uMVn!5^k(9bq8*_QQnbIA~WwziH`BWJ`AydrN1$~urgbagOK5&GI&FksD538-mS z&N?0IvrXb7DsLP>IxhSAQ)=li22@2e>jzf@%5ii#pd7=(hSUSSViWzF{sBw^ScSKL zhY9!PjISQ%l_oRPV#~qWqB{#hfv)?;irjxl$dWz$8^y}<5%b-ww{M;vj^K#ZC30R psReqQD|$EmL)8R>yPF~eqQhkS^2O7-=M^TCa~9JS$eKG&{{u7|kGKE; literal 0 HcmV?d00001 diff --git a/test/constraint/pt_face_distance/test.cpp b/test/constraint/pt_face_distance/test.cpp index ca633b2..7538779 100644 --- a/test/constraint/pt_face_distance/test.cpp +++ b/test/constraint/pt_face_distance/test.cpp @@ -11,6 +11,11 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(reference_roundtrip) { CHECK_LOAD("reference.slvs"); CHECK_RENDER("reference.png"); @@ -22,3 +27,9 @@ TEST_CASE(reference_migrate_from_v20) { CHECK_RENDER("reference.png"); CHECK_SAVE("reference.slvs"); } + +TEST_CASE(reference_migrate_from_v22) { + CHECK_LOAD("reference_v22.slvs"); + CHECK_RENDER("reference.png"); + CHECK_SAVE("reference.slvs"); +} diff --git a/test/constraint/pt_in_plane/normal_v22.slvs b/test/constraint/pt_in_plane/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..1bec7188757e44a34238430fe44d5c7bd7f57f52 GIT binary patch literal 4495 zcmd^D%~IPi5Wed*dXC3-pwo*FOiO#~FkzsFP7lISz=I67{W=kKM+x9qZ@DO;RhQ$olWDK6#_) zBwI1bc*;r?ry>_JS*>bk6qff{@i~)al^E|rvL#yu<&G9t*Ig-Rx3pqc{o=-Yo0Zv3 z&Jt5$xhWuQSz15Ia{BmD@UoIL<5i=ec`kMfw%qU~;;u{tqw_`P6@Oh zg=*|tOvt`A8q~%^+Bn2`Tbla@GmttSOdSuWo_h;}l^bYTY5jSX)}I%&t(L<;-8tQ# zp~9f$dIAcu3GVUB+~?EX=Yyy!tshmT^`i>fm!PWLT~udB!m9jTSf}{AxE||&qJeF; zVs_epmHQ5o@^_(Mu!jvRt2RvP9S`{?7pebcA$ zrq72>N1On)l`mWb6~YeBT?EB9Hukt<(~9+~i_j`&(jv5Ko45!*%Iw>O@wU&&VcQYA z0Q}n71=xK%+5X$GmoJ)bF4WZ>JSIM>Z!8bhXTPw}MUSvWC;bIFmnw#c_bx3|*j7jE zYS#rf3ZCOw-_g~$8|C@NJsK_BDjp?xn+}%eYy6}AdN)L_RwW{iTxU3GiT0igj(P9i rIQpVGt69BXN=L)=g95ecOonb5qPl}`_ literal 0 HcmV?d00001 diff --git a/test/constraint/pt_in_plane/test.cpp b/test/constraint/pt_in_plane/test.cpp index e54f651..2c9adaf 100644 --- a/test/constraint/pt_in_plane/test.cpp +++ b/test/constraint/pt_in_plane/test.cpp @@ -11,3 +11,9 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_RENDER("normal.png"); CHECK_SAVE("normal.slvs"); } + +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} diff --git a/test/constraint/pt_line_distance/free_in_3d_v22.slvs b/test/constraint/pt_line_distance/free_in_3d_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..896cfa9891f7a8fd8d3fc4251de1a7efca88cb43 GIT binary patch literal 5458 zcmd^D%~IPi5Wed*dXC3-NT(Mcn3nd|VZuNUogRdvfCtAmvJ(iMK2+Nm?CM_%mhA{Q zH5Z2c)3@KQ)@%R%^Y@}IcjThMIa!`vVT8~ZT5p@^Hri#e_$5-*?HiIUKqmjM@P=gX zC|MIqs+_b^oY!Sdv-MgyOJRFgG@lFFcA4^SC|Qwp)IQ+m^6F4pksI8R%YL!3-W6?e zU6M>8Y_|=BZCmX}Nr@jn)>Ye4TvVM=;IgbAmSnZ9R=6^tK>VrLv`dwf4%FtDofAn) zoIf%}N;bI3exhIKbhY9n_Hda>W5uOHUegt!IuFildq=wbc2-ogroV)~5pK#)y z0E1Qw4p=hT9>>x`2b3%&S`c!=S=ANYUKN@x88MPFRRtqCKq~E;8uq^L@eg}Xk*cbu z8(eAyj7O<}9qUSOme3bMjFeh-h1hwd3x@-Q>KOfKCPy}4cw`u#BasL4ghRiIRK1Jc zQHirOHJY$Gun>vj)2;(3OzP9va$>z|9UL%0b#SoRb?`hsO&w&#c8|UV=DF#9y6Mxn z>4Y1=y7GmMz(Vvk0$Uh#>}ieQ#Cp|6aKHpLf`cuv5qvvOUnfkreagmdC-efWFo(Us z2Bf;<{o~LbS}cU_1))mh+-9m&#hTU)PPFOWaL%3=(PQRa5DnYHbf0;)En_&5KAm6y z+EEOz36{T)scHm(^(}ygF@<*Aa*SL3bwmc|aGgzJv^8Z2T^{|sk_z3k6B_f-g~OS% z1zX}f8jU?nJm04buM^qQsmkKQd*vWJU*aG2mp8S;!99jMZpj4!sV#c8DO%?6Mt|zN saF$uqor=9qw5p{ce5I6HF|;gg-QB`xxY$O+MX4*(-#o>8g9(7pKbH}Axc~qF literal 0 HcmV?d00001 diff --git a/test/constraint/pt_line_distance/normal_v22.slvs b/test/constraint/pt_line_distance/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..f36ada91c91f60ea57dcba293eaa2a66fd2d76b9 GIT binary patch literal 5571 zcmd^DOHorw8FE;K8wt#Eq|>l$Tvae0e^AoxP6O&vaj+cXltSdyB3jnh-0$^T2V#_0!w zSD4^3!&H*9s;Ef1S_x%Iq>p+1IVZG9m3B?=60btKL-oz=A+^N!sKGbwWFx)JX?|DW zR7FTPHJGJT>k(X_=kuzh4MBO?7zQeeYPZ14O}Rv+2@1#;`I;_NPTCO75c3mCNSr@1 zMS|C;PJaf!g0tn4gV=&)B83%}D)NdfG0}N&Wa%SrvWHn-&gue{SSq5d$+!4hMIJd7 zs`M#}5*CjXXor7u$31>Da^8wOg}d%VW#uZ8-{+-hlNju(RQ`*?ULk_k?2v@)ltB7% z#LCXeLGYRzcXE?1ZW2j*TU7W8)8RVlbe(j&o_hm>mg`8Fas7T7*Y6j&PRdcpX3pWS zD=sb904y@^l zS$x_)%Y7$_8L$DEpzg#!LI1?+tC8w(g5b2;=||(zX9n!_<6iv*e%fH#xQm1$^2-RO zW}pc7eCe=O4#mj$<-LJhuPWg-hVn>GpmnWPCDFw9@-TmQ4=1h%7>Am$YrFOpQU?$k zD8@l}s=Y}FV@)`^`^&P)o4slgwnRjMq^bHD%0U`ZuC8FO`yTzU_Ylb{E3!s~X2AH9 z4A`M=_2vj2CCGtd%YG6&ja1>`Kq<71_GkuMHocjO69zlv17i`%HgS(-YU zX?0*GVuhz&2Vj`ghoR-zI%*x9U?$bUiOsHq=Xx}CkQLiL`xcbfqWj^ZFa4qeP5|r5 zH#Pz@(b@=XA<(vmHG*U7sEyzRGpP}r*d{iDZ>MSNgyFI;X}|1%UV#1Quou{XRA;<> z9J)h`nb5r;Sh1YjjFl)`t=EhJVPLS@lj;;rXpgnW>lM3a!spbxIGO;3=sxxAXhv{g zCK{L{XVM$rF%#k6aH_&bPQorw8FE;K8wt>?DLve^lE)*p<9`1G_N&-WLdFW(B&pyl3WJ`TvX#8O6Huq9Go-u1w{>DC`wsWX%tW&rb=Y z9|pYag6w&(xnUf%NL+S`)MRhSOfQK##u+x6TT7_?kR%AD)=%eij9z_n5id_Hpy zKV5-A%1s40ViVM(x2eyktIs=8ycXiMYHsaO)L0+{REIbz1Lbi|{2P@Q^0!rzr<%pj=tNUiUrtVeTQw$_ut8nPR~B zLk8?nw`y~Qj%vuBWMe-yI}NIcaG(^*Mtd}aE$d)}Wf+e=mOJtUr(c^?or~M3#Ce)3 znrU_5CPIm)SqEU~)Q6#E**a<+tY9Y9!HUhSgX4PCb-;>kpIr;eYtj91(U*SF0VjZW z}XnW zU?vKfBWKbZ-!T&r|KVhXkDQ2W8P!P3O!_7JYNB3S(6~s&+FaV(tJHf6nowm`_aib? zqYfC0hbkhRIbZfMzR}T`!^`pBrEwjImP!>15C2m;!*eBmu3qxw&Ioe@W{N>?0EkS| ztHsz5Z$0$}A6^j7;+f;57;71!lN{6xlTO$O=z{ Ku&`xU7lE@|R|Us1|`(byZ3ku}>S zHrpjozU#2IbFpO|YTZ_?*QWIx^tUCEsWB~~z1GlPd+4z-F`!&a$xLgG%e3aWpskeb z*zC-y|Jo9RlFJS-#0Hpq?=v3{Hy^j6%Cu%wnbwRdXy1b>GuKfa9SJM5*I^xEuj6{G zz0ZMFtQgJg8UMMST)CWA_Y5-xeNr z0PHp`{RxJjp3lxFQ{SC++aH(yoW5*mUR37*A>?-nAZ7`{BcBK3h0OCl&uIbhmNYx-zP#g#0L`FjhT`4$u`0Ka`i@l%- z-$542ME{_Al+?;VX_~-T_TBlRj}fSflWa{Qsesc96)*zb%fSyARf;X4Mn180Tp{D> zustRO&Dr$!tdilL;dJZp+)^h5{aTi4oV$)HoF65k&S8CEE+lq(A3&i>?}t{!*GcFx+mc57@Eot7*PCT)OYS^sReoj~&2RDQP*32+Tzz5!ih$efJ|m#n(xR zP)TMG5h}S2B!X!qX<|bEwQoW9+8$hhYpBizRI3(GJs2)qWA z=QgNd>_G$??;nLu&njdJf30Fv(z%Ujc1ug$t6zQCpB!;nD<##%g$Y&jN&MT?RSj|vt zEI}8Z07Ks7sE~Z?ae&uNkhAbrg83btjeg7;9@Z4DU0bSND)t>dh+ES$6@Dq748?Q{ z6o=DKlZ$@nvV$33Ti>`vHGNuKlxJqiUrj^#n2lPt*Bm`&Qar)S;i1T@%H%U``4y(z GTh>3SAioR% literal 0 HcmV?d00001 diff --git a/test/constraint/pt_on_circle/test.cpp b/test/constraint/pt_on_circle/test.cpp index e54f651..2c9adaf 100644 --- a/test/constraint/pt_on_circle/test.cpp +++ b/test/constraint/pt_on_circle/test.cpp @@ -11,3 +11,9 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_RENDER("normal.png"); CHECK_SAVE("normal.slvs"); } + +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} diff --git a/test/constraint/pt_on_face/normal_v22.slvs b/test/constraint/pt_on_face/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..03ee428403f6ce1c81acd44feb3f0cbf75302079 GIT binary patch literal 25861 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 literal 0 HcmV?d00001 diff --git a/test/constraint/pt_on_face/test.cpp b/test/constraint/pt_on_face/test.cpp index 0f128cf..5e9db1b 100644 --- a/test/constraint/pt_on_face/test.cpp +++ b/test/constraint/pt_on_face/test.cpp @@ -10,3 +10,8 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_LOAD("normal_v20.slvs"); CHECK_SAVE("normal.slvs"); } + +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_SAVE("normal.slvs"); +} diff --git a/test/constraint/pt_on_line/free_in_3d_v22.slvs b/test/constraint/pt_on_line/free_in_3d_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..250f93cdc38236006263655ba484c77fb3cda1a9 GIT binary patch literal 5417 zcmd^D&2F1O5We#oJsSbGt6n%nN!nW#IZAq{df3?O1O)?GuoI{1L$!Uu&Mf;&SPa-X z)fdb2Ki|wQpZWdg?{%K;=ygGsba8o0JkR^W@@?Ti_`5i$KcNs+`+~-Ekcrr1rA=!O*WPw$s^wpwuzTd<6TvBXkVp0gEYst=BA`ADnf!z9TjMM^R%9LcgucJy1$ z9=Q~z^eG4;tVbBM!@s@b89!<}=R}_T=k7+uegMN8PEX&ca~jI$B1pJ1=V8c|mKn9Qb(W zG(TO1LCf_75U~;N(Q)q6@$S=3R8i|j6}4_uL3<3U=x(Aq83-%-o3M`YH*p>6KjXma zt(ZhX`(5rjNf^KcU_RX4Jsb>fbvGjV%-FgS?sMmXg3|{l-GD9}7#;&00Uf%V&@JfG zmX?*xP^6GQ<={H@q~M;j8H3A6#gemvEj&*13?B0^ccJl=ufc&LC48?8(|6A>vopXw zs{{>{bhpD$nyY{UrBDgRWVp<#q}t0tBgY6lA(KG*eGh(^G)1VgoNY*| z6mUBV1yHP8MJ!=2YOyEPVk>IOBV2en0H})5UQO@Fx)>fAZqEaeJNksAU+Y$#ylznA z*ruvx+#E1ODDgDs01DlDKeVh^C!K>;%&0k7wV88pJU#Us#Kd+lF8=b?bl>0f^{{D= z6M$QJ2OH9cJ>gRgj;Quv z4W}%Y{~eRl7*VW?KWfBIR;_wBB4YDuEh2GnGernB9rd^p3bnF5_Oj{1%b6m*7WECT z#=J`$Z>Kb@hZeEfs+cXX@6PgEji0OcZj!>mF@_^<$a#iYWQyJpMZ>(P&T76^ub`o! hoGJ=!eHj_ryn2AQYk`@Diy~X5US-z*2Xp|>`v>6=Z6g2x literal 0 HcmV?d00001 diff --git a/test/constraint/pt_on_line/normal_v22.slvs b/test/constraint/pt_on_line/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..5a74c345233e508a4569e837b32d5ac2c36e1b0e GIT binary patch literal 5525 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 B?EL@$ literal 0 HcmV?d00001 diff --git a/test/constraint/pt_pt_distance/normal_v22.slvs b/test/constraint/pt_pt_distance/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..16974355cccd9bddf05565b2776f89c8f858b063 GIT binary patch literal 5106 zcmd^D&2pPC5Wed*dNu<%?)1VTP1D{w8E29nIz1>LCrmIR61L-X`cQ3Ouqz=6K@bM) zoa##^`~U5(v@3r9`Fl;XEx9gmOqQ3o7$Nk9(M{n!c-zRYet{yD`+`IZpsD|Jye82* zMplH8JSJR`W13MGtyYz?BJ#(y_?$9cMq0aIBq1x0?{IN*+otB^9+%{%n_Nq8Q=Z;s zB+?P`O#x;(H+qa@`1yk7ykt1d%bJ0+jP8~s+2je%>!5)ADP8lW#$*if7z;n1N=f67 zg2>1k7tv4j3!Nv4OkzhaLnW+psUxQ>AAndOh9j2~ucJ}WYu6QzjbGToAIls!r+ zROy57haw&&(4GFxo%Hy=mUC9*$=meO<$53suG_ERy8QyT0onJ&ozwpH z1qP6-3W$tNP!Eq&pHEkx_hwaa-B}e}cUFOWOjd=uoz>aMvvypGjBlZman zVz%hM%3TLZ=-c>5szV3EX{p^$P#@)eNuD-@m(3}ziE#-fKoIC+7x6 z4$WZ{LUI%b8C`2n2o3SAJj~zR!&%!yU9S<({is{ zL`-lWDVnZdO=-bUas`E@>bw8LUIG*=r)-Tg!+^U-F<^nYHESDmR7FObt@^22D3po} z2gZW2(H+fT%XKi)GTcoEEcf69r(Y|m&aG(_Z~@aqGp!E7M4`Qc5c0ez{_R;DE=zUY!?%S|)T-9i<#MSLRN3KPvExC^z zJ4-D%0Epb=_0^=i=rlkMhF2jz0S@!vR?sDm#{BHAh&4r&iBPA)98SeBDH(7$+bZe^ z!M>^D8y$^(gdCqdhF84}RaG6HD!t*kfM1x8IeK#uXCpusT_wOKy;{#K@y>%{@!=79 z9tD2)d%=<`%JXX7sZMKy^RePo?Qd~t`2e4Nd^=Q03Y#?Zjjc&eQeJp;wc@1o_EG43 JC)W-U`UjtX7B2t* literal 0 HcmV?d00001 diff --git a/test/constraint/pt_pt_distance/reference_v22.slvs b/test/constraint/pt_pt_distance/reference_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..8a3b2a3c33b7d85d0fed42ebba5e5c30b50f61bb GIT binary patch literal 5106 zcmd^D&2pPC5Wed*dNu<%?)1VTP1D{w8E29nIz1>LCrmIR61L-X`cQ3Ouqz=6K@bM) zoa##^`~U5(v@3r9`Fl;XEx9gmOqQ3o7$Nk9(M{n!c-zRYet{yD`+`IZpsD|Jye82* zMplH8JSJR`W13MGtyYz?BJ#(y_?$9cMq0aIBq1x0?{IN*+otB^9+%{%n_Nq8Q=Z;s zB+?P`O#x;(H+qa@`1yk7ykt1d%bJ0+jP8~s+2je%>!5)ADP8lW#$*if7z;n1N=f67 zg2>1k7tv4j3!Nv4OkzhaLnW+psUxQ>AAndOh9j2~ucJ}WYu6QzjbGToAIls!r+ zROy57haw&&(4GFxo%Hy=mUC9*$=meO<$53suG_ERy8QyT0onJ&ozwpH z1qP6-3W$tNP!Eq&pHEkx_hwaa-B}e}cUFOWOjd=uoz>aMvvypGjBlZman zVz%hM%3TLZ=-c>5szV3EX{p^$P#@)eNuD-@m(3}ziE#-fKoIC+7x6 z4$WZ{LUI%b8C`2n2o3SAJj~zR!&%!yU9S<({is{ zL`-lWDVnZdO=-bUas`E@>bw8LUIG*=r)-Tg!+^U-F<^nYHESDmR7FObt@^22D3po} z2gZW2(H+fT%XKi)GTcoEEcf69r(Y|m&aG(_Z~@aqGp!E7M4`Qc5c0ez{_R;DE=zUY!?%S|)T-9i<#MSLRN3KPvExC^z zJ4-D%0Epb=_0^=i=rlkMhF2jz0S@!vR?sDm#{BHAh&4r&iBPA)98SeBDH(7$+bZe^ z!M>^D8y$^(gdCqdhF84}RaG6HD!t*kfM1x8IeK#uXCpusT_wOKy;{#K@y>%{@!=79 z9tD2)d%=<`%JXX7sZMKy^RePo?Qd~t`2e4Nd^=Q03Y#?ZjSapKS=vd;3y-c=oRr=^ L3Z3udS_PqhpTHI{ literal 0 HcmV?d00001 diff --git a/test/constraint/pt_pt_distance/test.cpp b/test/constraint/pt_pt_distance/test.cpp index df34a00..871eea1 100644 --- a/test/constraint/pt_pt_distance/test.cpp +++ b/test/constraint/pt_pt_distance/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(free_in_3d_roundtrip) { CHECK_LOAD("free_in_3d.slvs"); CHECK_RENDER("free_in_3d.png"); @@ -24,6 +30,12 @@ TEST_CASE(free_in_3d_migrate_from_v20) { CHECK_SAVE("free_in_3d.slvs"); } +TEST_CASE(free_in_3d_migrate_from_v22) { + CHECK_LOAD("free_in_3d_v22.slvs"); + CHECK_RENDER("free_in_3d.png"); + CHECK_SAVE("free_in_3d.slvs"); +} + TEST_CASE(reference_roundtrip) { CHECK_LOAD("reference.slvs"); CHECK_RENDER("reference.png"); @@ -35,3 +47,9 @@ TEST_CASE(reference_migrate_from_v20) { CHECK_RENDER("reference.png"); CHECK_SAVE("reference.slvs"); } + +TEST_CASE(reference_migrate_from_v22) { + CHECK_LOAD("reference_v22.slvs"); + CHECK_RENDER("reference.png"); + CHECK_SAVE("reference.slvs"); +} diff --git a/test/constraint/same_orientation/normal_v22.slvs b/test/constraint/same_orientation/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..c29b8d727e352ae2c719e1d04dbf932e5a1cdeba GIT binary patch literal 5198 zcmd^DOLLn*48HR>dNu>tj&tFVS9|MZoJo4<^ss?-!UO|Zu=D8jN45Qf)xLKzi!n(~ z%_S3QrTz3tD=GZ`^Y^OExA>|;30_{@AkXu@kaAP`_x?5x_)jQA%}a&jImpD{1zO|y z6TvG?aFO6zh?6oeNxWKdVL!-f6~QT9`Sla3u5a4X0^gwqUw4c3>1|eL zw>gd_!g^DI+qzbE1n21atSst=psZ-L0_A!6w8ZJANKv6df%rUI*Gn0ba#SaX-s1~O ztY0ETg4d{ue|o>XlQd-{c5oSq!;(vhyd)_mDh|eM{eYX~ev%cFDn|tthA3&WE&f)L z2PTCq9S1=~@rVQ6^lxt2jYs;NGb4}wQ-7c$b0x{{vVxaM2!3TK|3zXi5kYJENPPNA zAp9_(X=h^3+tr4>+Ne((1;XDJ<*vl^TpjgZ9ra&5bpnHu>j{}^-S<+h`(DsmAqPI~ zIqjc5U=T9T0A*~1dGt2(>3H*LFRN7RW|eB)tb+C}tWtB6)yaXhQhSruG4>{}huY5= zvAQZIVbI;nT`!3`aC1+!Ztg+b;(ievzTN}9 z=b2OQ?q?3#nc08l`&e7z#|^Ff>iQo@hAVfx`W%7r<|=0&D~&gZ}rGRcvawET#3RS7H8_uz*) z;)SXx$r|NK0o5%Ou%6tgr3|vh#hz4)obh!*m@qid^p%fpG=n{BFw8S_o;{v>;)F}T z@=%>S(LsUJFcq3{d7v&r$)}kIJ~t1BqkO$<9xO1U@?gbj=D{&}bl@Um+h^D8-#z*= z{OIfcqXS+5t;#nR0(GI1XBGmTwaWLfXJh$#*Fvzsj4A{R+sHz2tqWb1F#POmy#MTg zT7XvHt_2#ieB<5i&~94PMQ1I5Lf1l?)eVCG)Op_q6^wSxz(Azxn&D+~Ne7Al96Oh; zLqX_}Mpcx>mR(V;#fmRx8lG+~koneGzJ%$s!}!!GV4+ZGGAG@M2fXJZkFjGL8;(JJ zI}j!egS9MlgD|R3xQHZb)ro{c)ysfR)HV^>g?}^!zJt-2*>!xqIhZXKDuWl%&A%6( zEATV*T}rNLko+L>3^~sS#Ba!Uwn0OO+17WW9ymOd9qlRC^2Tgv%jO~)(}Qpn@Zi`+b^@W(hidzRT}dlhb}Yws z;M80g_V?RA?Iyqf{JqZ8ExRsg%odlolo0ZT=bOTN@V1e!J^_-dUBRLgpyB@+U9;!| zXDh~87PAt`ah~QpTCJ2a63fS=_?+;vinMmY*^;fi@|hMlw{2?1?rFtty2-WlHYt<4 zltmh0xhcSGSsFdgQu=b9XJy4{l2tW>rfL4XV9QOmq*)CL$QQ}FTs)H&IbSkv;*gmwA6XSY%#v(Yq%>owNaHHmvTr$m zlvJqFN8b+x9u(+K|K?75Jgw!N6?yWW`vb+wC?Bj+$+S}69RhS;vVXy13-}T%H3|g)yWWja&6hs>L3a&e=g6qyIaF5BVP`9%>8<|$2Z>M#NzMa>x`p`nq zu60+;PP(6R*B}XfJN^mk?%Kesd=xmLZ-W~foY1$?E!fkBl~wZw&_uaM;K3uBa4+u# z>sru^Snk~oEUY|(MGC1!4l%mcl@S`^dwH0@yN8puhrke8S*oKQm!(r<5VLfghs&%= zs+}&h*y27xnyx}kX(2_qB8S83yZ^&J1dx^Gd`(lsfcFO(aKzl2(+&DUk%?wwSE!=` zRU{l(4aP<{n!%Q9Fw!!-PX{db#0gHns!*Mm)2P5jmd=VOu7hJg)q!KhwlA&=VPAANT=ey@=zs|jU3p|92ot7wb|Z+5Y-|r3n})47 zZG;AxNsZ9JHn9<0M@3gB43~Y44$BVc1$hMPi5{N(EAc#gFOlmesAE%-yU20c)Pe)R zitm}Gx!x1(;jj*&HD8}GK#8`o3A;CqwGYrlsHjwr28>x-1&0CdL&P^4jXeyG zA25d3wjC1`&-D5Q{E7occCt@0PN}i|R}r9BN(~oKK3Qn$zMi fc?F@Kct{%F^6CM8n%O6XO`7=~Or5&5c|!gHTCM4H literal 0 HcmV?d00001 diff --git a/test/constraint/symmetric/normal_v22.slvs b/test/constraint/symmetric/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..1078e05b664433e89cdf2b61beb6bbd07b863a61 GIT binary patch literal 5048 zcmd^D%~IPi5Wed*dXC3&fa%2t3beNl69#(d^dKAsJUF(IorKWoL$!UuuB4SLJC3 zXG_Le8nFV&QI=#pTrQO|5{sue{~Yt847GO7*@7*-VoUSeyCyYd542>r?c_>&6BqG) z!a^NkvChG4Q5ZeW68dtHrA5hUoR$@XCP}uPv&A}H(6kB)$d~b|m}^YNP!Un#$HSD= z{vbroRx}TPl3(O}v5-k@$z_1TI+r@~j4v2BIAmsvCssy}lQ^B^2~8O)(x{9#>|4g4 zBo(Uk(f0!p4+^xWe|;}Ko>g+riadMUZlGAXjK>dgs@h}=(CIqpc0F?j1})bCS#aHc1=sBtxHZVWC*GXq zrzrDa_1 zbc=`$?h~Zx`c;$$43x_=II6z;KkOp_S!u>sG%*Z#dyoMK%$+&gpraI-Xg2nfIw(*@ zh68KC*l3TYx8*7rX&K(81C~2*g43@Gs`F|Z1YE#0(TuBuFfrBnwCkWY>)>#Vt)teV z7R;zR)NtB$aO|cEI96=);<^s@MR)y0Uk{7+m;lk0Z)^l%!W7SL1hI{c?S5lZvvt%) zs0A~s5o)oGYy{Uq(bft5WnaU?vORhMu8&49K<}H%w!en0>#9O?EuL=gC3GD^P03y8 zxLGQ}9zf(Jub(E}MaKbhFg%6$2sq3aZiFsz)b?k4MXW7?CIX!bGn~jUDd{nsO%)s= zxHmDr!O_?wf7P2%vFh+ur87Ji@C)-}j=o&PY)pwommbc1o3wYHS>mmOV)66x tT%9qhd25_cilgS!;xKtzp`O@NwP>>P5q|91Ck1ty`DIO=-j#Vm{sEr}2bcf= literal 0 HcmV?d00001 diff --git a/test/constraint/symmetric/test.cpp b/test/constraint/symmetric/test.cpp index c0e3caf..065976b 100644 --- a/test/constraint/symmetric/test.cpp +++ b/test/constraint/symmetric/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(free_in_3d_roundtrip) { CHECK_LOAD("free_in_3d.slvs"); CHECK_RENDER("free_in_3d.png"); @@ -23,3 +29,9 @@ TEST_CASE(free_in_3d_migrate_from_v20) { CHECK_RENDER("free_in_3d.png"); CHECK_SAVE("free_in_3d.slvs"); } + +TEST_CASE(free_in_3d_migrate_from_v22) { + CHECK_LOAD("free_in_3d_v22.slvs"); + CHECK_RENDER("free_in_3d.png"); + CHECK_SAVE("free_in_3d.slvs"); +} diff --git a/test/constraint/symmetric_horiz/normal_v22.slvs b/test/constraint/symmetric_horiz/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..62852b642560cc30c1d81bfd5c7ac91c692e33e5 GIT binary patch literal 5018 zcmd^DOH~)(}U_L;K7lNh;qvCTO{L@xSLCLfTuW~=p8d#4 zVj|?563lXL^%%+V(?vmf#c)Qent}7Y*e%F%LzkG=K>_(=w&n|i$r|D*7JdSqlExnm zk&!hnlb`4pI$thj5<7AkYhja16M4awgjpOiv;2Wn>HRFDvogn&Xhob>*_M1Q*n^}( zmEMP8EaK4u-Ra-_kRH!!Id4TCgIzyRUAcl~cNtY}5`kR<<-aKG6=rxXh9nSE0`Q|y zlwFb$ddZD?xp5yi4z;~4&V7aHaUJ)%j{9BDy@5f?^*|O}zhA-i`vqT58k6))gpRPXd&8pz~vnsg$tOEBnSrzJTR%avAD)im7PSJPsI#&NgCbsU1 z*=hGv?i(bb@8Tb+4jl~BQoEm^KFa%oJZ=cDnp@luQg~{;=@h=9`%7A7)!wv- z*x(`3G*iEt(t@Go$^wq6Z{c_M2+%BAurC1aICGP)}ay1 zq&hTkx^?jErW&}e*!IbH9lR9X4;OttEIMEUL|4AD5rhd_Jhu_VHnz5hjZMSWQ5&HV z%%nzW#5S=Jdx`U_0cL=p5_lf6b zsRaiBk(a!AnoJiR2gt$j6yhV`uwS?}bcv&}Kf5d9Y!PiDHmR_~sTnpU1BSD$qDKhs zO&#CpXxtI<{Nypb>TRgH>hM*iH#{Hk3;Sb^xm?6-M985_4`&V1i}TD8?;I3|UsmVp lj8RkA;CxUV)z%KDsP5tCoY0L*lHw-K{&uF0>)HT9{{W0L{pFrJWhZIM@S}h~$m%V*mS0KX zKrWr`Y9HUXD`~BtzkXjA*%n`yD8Y-%TjY7(M^bD`|K8um0sn=t;r$(JbCNrCu%x~>)ylX6rgh{o{+ zCDtDSk>E8dzoyN^mpArMdb>T-laKjlMwt$DE~!auMk0Nx=DPx zO8|Zt(6TeJ=e^X1o!Y2N8wJAO7GiO#(&&pbjhoMgoAV=dc8*12ci% z_zV2F!BuUKGE&H{LpZlRDY#=}k1_N}MZ(614cxm$4)Xvsh|qY-)) zVn=`jSqXM+gNJ0QL7}E%9EGPUnxHULg1-^|OhtSB@Rxa=)_d8ZbczZ*A(QQ+B@GtE zy0U=5_Dk^99K?hwFUT5YN&)A;P{0s*t43#NXfF1oTC_7C>VyeP2RcFdXwPP_XPpf5 z4EIBi=MJ0@^b?2boLol%r!ZAE)9OH7gpyCQ4xrG`hp}b(I%*xPWG222XOqZpbT;Ne?0CG? z&E8k{CR9;(cy#DY&jtKKJa7#&(9vi>)wW{>keO6dc*SpKeIpRnA=58M}!=@@^BKnq-O`3Bi=bG4!j5qy>%E}R1-j#LNCMnoesr(m(y+jl(`5}qpJUqJq-p1E!UGW=Z5`qZrCqyos^T9-#NQa zUto}OR{@UL2=(lB>eKP+(_U0LH;gLhhEWCXYf$CtHmZ{YVdeTZtYh?TTo2Vh62O|S zm>m1B^3Xxz`gZ>52z@915&B0~U+q<&;l~wbtvkmRQOp9kv?4{g6EokM_=-`8*|~zD zLuwd?0FUHETG!eXGEICh57T$|aO8S`+ei~OzNxE_+JVqO(F5T{-IncE)rb$#B$6}* zprP#8k#Y@zz2;l;-JZjeRTH{Im1e;4mkih;ZuI5^CGE(OV#|VdGhM2PZ~zN!!ynCH z%O)6M8Lo#tmV5F9r(e2MgNw^SiSsmdG~?>PO{5A>yAHrGsSiWTvGt~PaDo|C2PZbW z4uSDt>L4q&ehLlfm!jL@qR;z92b=)jm9K0BZo=CLd?0Gu!y3V{^`?#B1T(4;oY+P- zLTIM@I$^l%bG~18Krg@ou-gm#f>dYRe;vA)7B``Lp<|`;-sY@K+47DV1H!;ywI|gn zn&6LhkJn2+XX2+kv^bggI>~JwT9J(8z)UnS|0lk>p^sbgHuK@N&}|UMTT1{rN{NT5#ClAX;?c v;lv@mSm!Kp?@_V%SgduY-R9L@92S?f_wcDFvHc5D=F;?cwQlV;2BPRMI4%aJ literal 0 HcmV?d00001 diff --git a/test/constraint/vertical/pt_pt_v22.slvs b/test/constraint/vertical/pt_pt_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..458c2419c859adbc9d597a90cbeca04dfca18520 GIT binary patch literal 5022 zcmd^DOH~)(}Qpn@ZeZRauPzPKdS8??CNRRSdML= zm*&E-?{6R4O@96Ub4l|pxh!!?7U$O(A@rHiO&Qz;+ay$HiD7CdoTS zR)movC0vtJnp2jnR!UhD`F&P?${4Q_qg^txB&&e$aCvpzrWWKDSLCXjTuW~=p55dm zF%j}j31&IBdW_`w@r)L{VmK?Rnt}72?iOUZDVDgXg97r$Y|R%2lQqOsEc^sIC5=BC zA|q>DCO^D??VW@U~Gq7`vkWn1!T58k6)%fpRPXd&8pz~vnsg$tOEBXSrzJTR%avAD)im7PSJPsI#&NkCbsU1 z*>U$%?i(bb@8Tb+4jl~BGTpt;a2W^XX6`2DtG4w zmJTgo8A5tA2U%U`Qiv__tvt-%+{01ZLu3iNuB~e_)knXVtgxyL$#`RzcYs=avDlk7mFLb8Qbd=qN=-hOPTaofKL{ zh69Vi+USmEu;n@!X&GLp1D1Pmg3~Vws`qXh1zfWwug;P!`7=d zLL-<-jnIf~Vk7uYimpx=F8h=mmL1RwaDTLV0eat7w)-{gTvs)k3-NRZkBRS=XiM%B z&(Tv04gex=dGj=xF8bF%4nsbK#D3}4;3bmA2JNnivq!Xv*d)V_r)Jos3>eS0iXI}k zIdy!aqj87G^RvhBy0@X~y2IC%-tc_D&+HF6=5`U&5g~^zJ)AU1&ki(4ymM3>ep#KW lLq^SEgY!XgRAW0FTHV12$*)lcwEuGS0-CP8SNuHWMs}B>YIHAJz5;D}f{gMl#@J z)oe1k?{n^zuE_5{e;@K}haL(Tqs8440sy{}yezzpw~PGxCy*j`EKqdKW%6$fw0oC1~Z*JuDuVT`5Lu$k1cIxUt@)G=0iY zq$;Fk!NXFj{Rqn7;Wo#V5tw4uC}5W5`vpo$oIuq1Qb*%qYMQk$_v+Mqw+IEnHzlnc>yV;usdMOcQ?Io&& z)lJQ>6rcp_YT+8|Rw?3Yag{MkbIdmpFJ5YZ_BGaYsDZ&hf0&CD7EZa zy;P-3RSv%zb&URM21jm+sUq|9c_y+0Cr|pVhH8B|i~=rT>T0I-L4*htpJpHG?J~L? z9qUc|&?;t9A6hugK3MMO2Dt3l?qJ)Hr>4i@rmyEs2b=&gl@|_z2%(#24uaT7I`*(* z(~9+`gU~8w(jc^In>YxzrP?EQr}xN8EZF-izzmJ4CjH-(agP zkCA1yH-_hm{Uj#KsIBT}Yq#`QYuvChM5y5D!IcU<(E|pz>mtXCf3QeMqpLB;%ksrL znk@}go-6*8b(UuXeyhLb)m9g+2!J7%8GKWA@^~=p3wBfQ@OlIdP0lv_qr4TU5`}G< N{trm~Mr#59@DIIeP%Que literal 0 HcmV?d00001 diff --git a/test/constraint/where_dragged/normal_v22.slvs b/test/constraint/where_dragged/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..75bc4433473b8d82c877fa1c58d3ba44caa29c94 GIT binary patch literal 4540 zcmd^D%~IPi5Wed*dXC3-pwo*F4A9;>Oc>~)(}Qpn@Whdf{yQD zz^S<~?Eikd(x>G2pTD;(-;mn^r(|}0j}by&I9nINQ?NJw>ExhqI=4l?~e#VeA0 z;ABBKp(znsoU)wpWU;86wNNax;&aADnHcYalQ~%gVvCEr`?i#lM_iJ-ZgFkB$wc;$ zlf+ag)&+zW!uoNN!Lt>m950g^kf5x6w5q;hNSUF zx5&u~7s*fb3ti0T3d9a9V{L4(G?gMaabuBTSr{mqHy{Jm9A62RKqYBznP?hd3s*@vOmHsZQWBgrQkM%!Oz}8za zIq$y8eFsVUyZs+@pONP^5oMD{jZodiaA_bTcvPJ0Fs@Ogio4cu=`#vs1m$TBvc3*e z$5!}W8K&=^;jEn@vVv_F>lvh45Y|xiKzL2dtlXIyNfHZ@mKgwRNh^-FD;T^hzK1_t z9@Hwz_zLG%0mn}(fWz@jMW@r%y=w zwQAM-a5$=Q*`}>#+#FAUZTe|?eZztP*8+P(V-OY`>x`UU*_ZDbd?h+5{*M^50vES9Si<)(Vce*=qZeJZD z-n-qj!eTODsoO4k_26Nz>pQv{clA8qmXAiuwyMt@ymEWX^EG~He+Mv(FLx?Jj$CI5 rUD@8l!m;n%Fh^gM7Zv|k>+5J(`2=718;O)CZp!ShE7jw#4uH@ literal 0 HcmV?d00001 diff --git a/test/constraint/where_dragged/test.cpp b/test/constraint/where_dragged/test.cpp index c0e3caf..065976b 100644 --- a/test/constraint/where_dragged/test.cpp +++ b/test/constraint/where_dragged/test.cpp @@ -12,6 +12,12 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(free_in_3d_roundtrip) { CHECK_LOAD("free_in_3d.slvs"); CHECK_RENDER("free_in_3d.png"); @@ -23,3 +29,9 @@ TEST_CASE(free_in_3d_migrate_from_v20) { CHECK_RENDER("free_in_3d.png"); CHECK_SAVE("free_in_3d.slvs"); } + +TEST_CASE(free_in_3d_migrate_from_v22) { + CHECK_LOAD("free_in_3d_v22.slvs"); + CHECK_RENDER("free_in_3d.png"); + CHECK_SAVE("free_in_3d.slvs"); +} diff --git a/test/group/translate_asy/normal_v22.slvs b/test/group/translate_asy/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..2f013bcb967c236d8799bc48f6e3c6e60be420dd GIT binary patch literal 60318 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 literal 0 HcmV?d00001 diff --git a/test/group/translate_asy/test.cpp b/test/group/translate_asy/test.cpp index cad832e..f1d2227 100644 --- a/test/group/translate_asy/test.cpp +++ b/test/group/translate_asy/test.cpp @@ -6,6 +6,11 @@ TEST_CASE(normal_roundtrip) { CHECK_SAVE("normal.slvs"); } +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_SAVE("normal.slvs"); +} + TEST_CASE(normal_inters) { CHECK_LOAD("normal.slvs"); diff --git a/test/group/translate_nd/normal_v22.slvs b/test/group/translate_nd/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..691b57e41be3752215ead023ccf1fc7f36d14254 GIT binary patch literal 283298 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 OyC6sKgKR<0uKx+3D(*`F literal 0 HcmV?d00001 diff --git a/test/group/translate_nd/test.cpp b/test/group/translate_nd/test.cpp index ccea849..0d1b8d6 100644 --- a/test/group/translate_nd/test.cpp +++ b/test/group/translate_nd/test.cpp @@ -5,3 +5,8 @@ TEST_CASE(normal_roundtrip) { CHECK_RENDER("normal.png"); CHECK_SAVE("normal.slvs"); } + +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_SAVE("normal.slvs"); +} diff --git a/test/request/arc_of_circle/normal_v22.slvs b/test/request/arc_of_circle/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..6f92e0edbfb9bc851b21ebe14fb25f8c7103ad12 GIT binary patch literal 5401 zcmd^D&2G~`5Wf30ILC6Fws7$QLE(m~R4oU@Ve4#CtIpb8J4sW-Ljfnz>U>zu@NetAng&-=`?P43_O+bF0%Qxui^oJQv$!~Yps z)94MSOUfyWX@TN6OEVrVm$fkpi-#otl<=aAq;<~ef-e1HNAjE7rj*eYDd|nSSfAb| zMRJ$YNM=}Ua&TJ|%8t{NJblPmQF4;7QY%QBX1h6EY}kS@ofL>aChKA@F)2qyOhgoNuOt$oE z#vdvvROww1gd!h2&`$s6u8Me}&p9jd=|ido;eePmg|5lwC=b<>y8Ur3v%F# zH>dgON(>;^6%dS#Fb|J2pN%)4b+Rh7ZdQfX%_?Y*VO5x$tWFN3RoI)fjf5Z{i*5rG3j3z_9Mc-J;Z!YA2+lp?JYtIt4Rb;rY8lf zYU42W4XKE$$-RM*moXT{P#n~F%GTIZLM42y2(wp@aArqoHxSh4MsYdv^*bU*y)bN|r+H$Zgdk&Pf+sN$K8AjYxsJ?z?8 zzE0W*Rx+a+!OCr9Be*t-woVv+_BrZ5JD?X}{b=@r5Xn2<{v6tmmN>6^p;k@t-4?1) z`l?l-p_)mR*+F2VJE(OuY2pR~RN2YyQi67TJyEa3Z1SHX*RG`Vt55DD$5x~d4g{jO z{8vEwArC~NN`G1;y+oh5BDz!M^U~8=^(BydjdgW;x(+AH33dVXyAJkWmAbX1wO92cfTjsD2|og0eg|h`KGcq1)`nlbCRA)#_(t5Bo(uS2UgBpd literal 0 HcmV?d00001 diff --git a/test/request/arc_of_circle/test.cpp b/test/request/arc_of_circle/test.cpp index e54f651..2c9adaf 100644 --- a/test/request/arc_of_circle/test.cpp +++ b/test/request/arc_of_circle/test.cpp @@ -11,3 +11,9 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_RENDER("normal.png"); CHECK_SAVE("normal.slvs"); } + +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} diff --git a/test/request/circle/normal_v22.slvs b/test/request/circle/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..d245f28b50aaccbf7ba9202b3c7c7f836c1241cc GIT binary patch literal 4941 zcmd^DJ#X7E5Z(1RI$MzCr0AldXwq&);2`NxbYLXf5h7CxDcf<1{;0Nput$ntQbbCY zlc`>U-0_b0-aGPW|Nis$x-541xf?(QFU|MwGzBWHNNRLo7KCV z<#z>6RE2C?L0ZOi9K{8C`cx8DQ ztv?bX#T!&5KZ9Sv$1D>h_HY@?#fnQ+c}X)&H4ecnd%$&iKg-FiDiFak5T$j#!{18! zAgrL$hbW49J#s-m{o6aS<9oBtsmNov_XCy6l{8=Hq-m2m>^v=EB*yoKSnQw;*moT2KWAE0nf9r*_FladsWbSqE%f0S>!P|lyh5XLx zetd-i3>)dkU*O+-7xlB&|H&rgciZ&Fiu8XM$MM z6|?jHtK4;vc)X4O`0z9P7!QUo@#7Y=x;=)KQC#J4=LE{I79-ml*vgTL(YJ+}Q4*MC zfKGY>9cvBxSR3DJhsB%kaMs=dbkl}?-_TS{btp7ccqqIibzUEoMtlZFfwUNJ%%S&<;4g(g9C^TmA3>NgH#Z+)~hHB+C#{4qU7{M}IY=Gn-;W zW;opgnLRjR)2|Iw=ey%5;2fr|W||H>#a!`e>(I=mqs!5`UR8%yF_Uy?;k0#d-0lXr zRBZR;ny)XH9>yBe+I# zUnh)T`Z-WcwzGR?x{up*f zqR=I%7Se`(5Cgkj@c|S*C9VgNsjpdiNE~k$vv3>`Lz(K>0U#bV1~9(rcxg#0O6QHC zG@hivh3uKrsnx#)NHs)#t%pf}fflziMXV6%TTeQ)N+WK)ZirMGzBtPIj;_YOn;gH! TjBms)R8d~czeRb=a{>Pcw_xVw literal 0 HcmV?d00001 diff --git a/test/request/circle/test.cpp b/test/request/circle/test.cpp index e54f651..2c9adaf 100644 --- a/test/request/circle/test.cpp +++ b/test/request/circle/test.cpp @@ -11,3 +11,9 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_RENDER("normal.png"); CHECK_SAVE("normal.slvs"); } + +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} diff --git a/test/request/cubic/normal_v22.slvs b/test/request/cubic/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..7630fad728835824126bf428c036d4922bcada57 GIT binary patch literal 6151 zcmd^DOK;RL5WeScaNa17-2#Uk5EO2x+N$M%IJk+ojhb~*C;I~Nqkun%?f99-d2K2V z?4{~_p4T@s_9(x8|GCbyJ-jYJ4A+;pz;T>UINufSgS(Hs`sZ^|bt+)AA~OCz0$Uip z!f*pIL@_M6IL@;iN1IKp%!TD+T6|1#Sw%v-z%YRuw>*I2=C&zC@E%m~rd_N~@6$59 z%U~oTEO!MlTb5D}!wekX=cueONKvH#kY)K{4U-*808&8_@rQIALP#FX2$K{k5 ze|U-*Zb1?KaDF=Pl7x}i!ezh@3ob?EIZhy!c`#2-L6AxV5H?bQl_ZgFGcNs32LP5x%AFy z{<;DqDc2RCj7?Av&QlMktB0MeQq;~WMeVE-^c+^Hy3XoiB&}3mr*(?H&g)qHB_mdK z#bVWdmD>i1>g)MWP`A$#HNMoE#`netccJM|2=4WH>Tl0e2b%hn%EZ>&fKr?2)~9g0 z(G83z*O;t+5|yJ%k>_xkpjAm4 zcKEr12Km+drtei8LOI@oOai2>I6!v7Te%67Lf2wPz`V@$j>c73IOL_3Hrk^ZY*_`v zEEDc~EO+EdoPMrTwJxHg5~pd(Xr|SHn(zgmdL8OzWpp^w)~t0ff|*nYBTu~!mgin2 z&MUS*+7_?Ip3~&>ipj@? zWnyg5?YB&Qxw3tkn~>uzpJxup`)a`R+*D!Vg!Gdak8gA|`Xg%jjy(LPXr{{RPQL$i IhG$FsF9rlbIRF3v literal 0 HcmV?d00001 diff --git a/test/request/cubic/test.cpp b/test/request/cubic/test.cpp index e54f651..2c9adaf 100644 --- a/test/request/cubic/test.cpp +++ b/test/request/cubic/test.cpp @@ -11,3 +11,9 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_RENDER("normal.png"); CHECK_SAVE("normal.slvs"); } + +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} diff --git a/test/request/cubic_periodic/normal_v22.slvs b/test/request/cubic_periodic/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..d4f9c72e0bf1f5dd2181402e3b59b3e1580f51e0 GIT binary patch literal 5595 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 literal 0 HcmV?d00001 diff --git a/test/request/line_segment/test.cpp b/test/request/line_segment/test.cpp index e54f651..2c9adaf 100644 --- a/test/request/line_segment/test.cpp +++ b/test/request/line_segment/test.cpp @@ -11,3 +11,9 @@ TEST_CASE(normal_migrate_from_v20) { CHECK_RENDER("normal.png"); CHECK_SAVE("normal.slvs"); } + +TEST_CASE(normal_migrate_from_v22) { + CHECK_LOAD("normal_v22.slvs"); + CHECK_RENDER("normal.png"); + CHECK_SAVE("normal.slvs"); +} diff --git a/test/request/ttf_text/normal_v22.slvs b/test/request/ttf_text/normal_v22.slvs new file mode 100644 index 0000000000000000000000000000000000000000..3022dcf0b25c755db851dfb563ca3461fd117bc8 GIT binary patch literal 5134 zcmd^D&2pPC5We#oJ)6Ne>GZ;()26v~GES2oIz1>@PMBas1o$VNK2+Nm>7gEetd+) z_=72Ox*>V=!~5yIU#)5oEm(#qEU}c4Grpo+(}cu>F&e|1xPe5>W06?yP?{fT1b7*B4KtZ9=u*p;dL7lpkboNUA+@x?2F z^yh&ndrkJdr`&ljH|*nv0ovP=)K!=s*I}>gu;2B<85p!&Ps)Pp_A9t|hrgr`6)j40k4s{`3t(t@l5kt^{MN>ojJV#N z6)YW=!7>DRkmD)c)};_C;%j+Wyt;=I(*tZwMcCQ4u0*N>p@yOZp_GS{B>F=4rLw+e zaEP4KtW2uSZ0VQf+JO5E80A6MQ!L!TLz)CzQ#w9TE@yB9eG9&~cQ&#z#y2EY3>X#2 zfP3RwU0G26hU`f;7Qfm5s8WXmQ(W1wM>E>84yLvYqh!ExPoCiPbCas`$T=!;k*11f zS{;Omxx}+whh`BT9gec~qIEEWnN$ZO&vqRgt3)S`72EDz%lxV6VZ7+$u;_>vAiDCI zjUY^@;