From 4fe514e6e93cd0406ba282e4e7f1099a4588efc1 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Tue, 9 Aug 2005 20:24:07 +0000 Subject: [PATCH] First test suite version from Alex. svn: r576 --- collects/tests/plot/3d-mesh.png | Bin 0 -> 8731 bytes collects/tests/plot/contour-out.png | Bin 0 -> 3817 bytes collects/tests/plot/contours.png | Bin 0 -> 3817 bytes collects/tests/plot/dashed-line.png | Bin 0 -> 2216 bytes collects/tests/plot/mix.png | Bin 0 -> 7011 bytes collects/tests/plot/red-identity.png | Bin 0 -> 2572 bytes collects/tests/plot/run-tests.ss | 114 +++++++++++++++++++++++++++ collects/tests/plot/shade.png | Bin 0 -> 2943 bytes collects/tests/plot/size.png | Bin 0 -> 890 bytes collects/tests/plot/vector-field.png | Bin 0 -> 5639 bytes 10 files changed, 114 insertions(+) create mode 100644 collects/tests/plot/3d-mesh.png create mode 100644 collects/tests/plot/contour-out.png create mode 100644 collects/tests/plot/contours.png create mode 100644 collects/tests/plot/dashed-line.png create mode 100644 collects/tests/plot/mix.png create mode 100644 collects/tests/plot/red-identity.png create mode 100755 collects/tests/plot/run-tests.ss create mode 100644 collects/tests/plot/shade.png create mode 100644 collects/tests/plot/size.png create mode 100644 collects/tests/plot/vector-field.png diff --git a/collects/tests/plot/3d-mesh.png b/collects/tests/plot/3d-mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..8346f70d7a612b6eceab4e8271f89b1439419b92 GIT binary patch literal 8731 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 F{XYXKUMBzm literal 0 HcmV?d00001 diff --git a/collects/tests/plot/contours.png b/collects/tests/plot/contours.png new file mode 100644 index 0000000000000000000000000000000000000000..c1d2dc736bc08d64e5b9d9b676ce742f1c4e252d GIT binary patch literal 3817 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 F{XYXKUMBzm literal 0 HcmV?d00001 diff --git a/collects/tests/plot/dashed-line.png b/collects/tests/plot/dashed-line.png new file mode 100644 index 0000000000000000000000000000000000000000..dc98cbf42e7ee72e589efe7c5385d0d732cb6fae GIT binary patch literal 2216 zcmZ`*3p5nk8lKW&8a2jalJb~wCht;|w_&CcBjg}M<&`0(i*#qAQio%_axo}Tjdi>g zQA1&Lr)Y>=#c=D6cO&Fg=tei?zoWIzTIW8_UTg2Q|9|hb|Mh?W_x)?9xw|=TMeRT# z5Qwc*CyECGv4JCj4COi9aj7brbRtX)|@Vpkf>)>Sr^zxx!0Iym>+y;Z4FwzZ@ zKA054%qYB{fTdYjUW6|z04po7xCpbeFfjq6qaYSTUmtXLLuV(nwLxnu2n4|ALqh}9 z)j@47R98b~C6tyzQ4w&tP*4DQd61I>nVFED4k;;+mXmf1O&kG<3OWxMBoYvbU}XhnW?*Ux#>QZ12zq)zAOH>r8XBOc z23Ra8DFGS{C=|%afsBk4|JRJ6&j^HU9hE}zioG?@{pm&t4kJ6UsR<%hObh72+Lgom zzd2TEp3@yi>^^{*v#@ZL*7uKwNM$cZzx3Oee*_IbClAhC={b)VYF&xc+7q{c0UK(?4ok{L6*E8YoxgKIm0@Cqj3YtRaqoPDHbXL28=HlGcs<36) z&PLjkh#Q-$jMkJX=Dhr)-hsoHdNPbcueDwFJ@-dR*1HBquE<2n476Bi#9(+WJ{m}I z;KD*aMiknJX78siByg<8E2`Ak{Z73J90Mv5!*hGVJdnsaAYyW?e0N2~a;&odBfDhF zdXtEn9_Eqb<|cm*3o*DE!dl;6=iF`OSKQsHM(*D$FJ8vS4e+zGyKZ!L&0h|jzt2q~ zL=5>-bV|lEU7f_NI&l;-Thx+N^lBmBrmA|r)ec8-O__E6wyDaRL(Inoj*95rqKEZ~8^-47nA*8l#GwbfSKnwpq9eJlUw2I~SsU>g zvz!3T+0$C@2lA?T!_}J|*8J_aDN2YQ$eYvLcw@0UPHGC75<->*|TKsHo%yUNZI^a?|{}%<@eLZv?*GlvHsTPhPIU#CK z^h8>IRh>d^p7@MLAk&2Rev~0^yg$cD;8?g==ivyb@noW^vd3!OyEPy4e>UZDma5IZ z*5{h}pmyoiE0Wa*clodqhaqacN-;t7j z?UVZXbvlS^1Gewz&Derxd>8+30{mPs7;i=NCGU$`8cT_knOQAWpzc(-OmUjht;Gqc zA9UZ~gbpAVgBKorl30w9;3O@6$bHHmZ;{wOn=jO8kpDulJ%z#RNHo*0VB{0B-aNX4 zp@r(akZUrsWd7(`$lLh8F~6g9P>-dQ-+YWbLsy8tJ&Ywp*tjd2c*v0-s?EyacW&X< zgknVWdNjLU?Zfy5^7A!*$`P6=P1$2vzOzRv6-#1`PU#$%=TR<|Om$A#xHj4UruggV zu@dfn=L@TiW0CeL-oEPT^E3I|ZZza{z`rv2vwc|d z7n;CtWqzDhGQIpJ*v^*6>v_ocAeI|)iI47ZvZkFY6pRhtdXHHokfm*W%-O;lJ9!{2 zYTvjYD!jHted^rfz7em5PgxJ@D~>!+eb^QqIax@>N-W1W#6CTYkr)~2zh${H3Ya6t zVHr{Q<>Dx8emV+uUgElK`{4^o7OI;h)7k9IXw>4lih4BdS^m%BxTm63>pgomArQ;0 z?81YemUiH&PX4%nf+WtVys;0>1FDQuWk!NH@!rX(C$7G6M@IyK@$?0=kV_~MRW`(u rlF!TWHM-cfNOE_{+Zmf>JBP literal 0 HcmV?d00001 diff --git a/collects/tests/plot/mix.png b/collects/tests/plot/mix.png new file mode 100644 index 0000000000000000000000000000000000000000..d189606c9a5198568a177534a04f4aa86c009569 GIT binary patch literal 7011 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 number) mumbo-jumbo -> 2d-renderer +(define-plot-type dashed-line + fun 2dview (x-min x-max) ((samples 100) (segments 20) (color 'red) (width 1)) + (let* ((dash-size (/ (- x-max x-min) segments)) + (x-lists (build-list (/ segments 2) + (lambda (index) + (x-values + (/ samples segments) + (+ x-min (* 2 index dash-size)) + (+ x-min (* (add1 ( * 2 index)) dash-size))))))) + (send* 2dview + (set-line-color color) + (set-line-width width)) + (for-each (lambda (dash) + (send 2dview plot-line + (map (lambda (x) (vector x (fun x))) dash))) + x-lists))) + +(run-test + "Simple plot-extend" + (plot (dashed-line (lambda (x) x) (color 'red))) + "dashed-line") + +(run-test + "canvas sizing" + (plot (line sin) (height 100) (width 100)) + "size") + +) diff --git a/collects/tests/plot/shade.png b/collects/tests/plot/shade.png new file mode 100644 index 0000000000000000000000000000000000000000..90edcc53efb13978a33f0336f421130d8b119643 GIT binary patch literal 2943 zcmYjTdpMN&7oQt5BT!`Tgis4)XG|y6js|5Wo9UYmT0A_?Fn)bqX&R|hw4Ky@|z z^%qoD!i5V^Rt6;{aPlPRbWl(LM~*;#KIG+rRtwqLkeLZ-X^@fvG8rT#fm90Hwn1DR z#Kb^U6oiLEXeeyh0BhGmU?2npfS(`u`hr9PUS1#)fu|?9yMwDMELsE$7Qo!OFl!cI z7@#Ojn+A4vU}FPZE?8KAi3u>7K&Kn}{~+qg7=^;lkPxB(>EZsTS=%0aBYReDVa~rk zU6-1x=K715lgvoB23H9c%R2x&Os@@ga3yrbr9gU{)^b;sQ@!n`eg9{g>))8anpnQQ zb<4Hzp02jOKU!LPhX3_RJG3k0Z25T4@bA~Jefe|>@679sxL~Cz>VH{fzlBg&u5Cyw zO}*vf_9S7@>2lJMftg2+ZT&7VWNYGhel_bbVk#EVnQs*;Wr z?T)!Pt_x9Z|8rpb$ar7h(}A12dddzBEK#+5QuVvud$ZF%aK(VK+TT&q(eZ=cB5Y#I`xjTQdFHDh+lM^~x%ez4X;=2-{sgh>)C`el$^G%vE1ngf zz0rx)_oX4pSO4jdHsb>`KRrHk=bconE?RxR$zjdb&4X`y;yyq4lDzKW)(PYI*bF%L z)28oagG;JostYjNYk8UOIYgkpf9YS11lkn?*Bt%hi_~*~-9Fl;OY3AVy+Z!&3f;VaQU=vsO= zVu*d_jiJADJdk5PZ1P0o-*`B0HB!Nm(`0=p?Kq_@6Xjhx3zIMySUuf} zn5h*zRiOTsvyjWmy;$8cHvi?h#17n@aQ4Wx;*XNl*>)T^2~9bWTimtyy^jlo zN4V+JsI>~Y#Cjrs;xGH_Iy^N_uecans3@%?` z#_wG`8k<6T(a2bl&fX8*%?(nMsznIK@k88vYGiuFVy}gwP$3_`NgyJDJy(SwS;_{6 zB~j-vvY44Z*(v9^{Pp5O4+34zab$Cq++}Y$#)URcnl9OEw^Uvn8pTO5VJSt9ZH_+@ zK8mk(C8jDm2*Heg)H`dVDuGijaa87uUvSJrCu<54{qar?YF@s9oQDLvlUN%r*)5H%pBbo|^?UZu-H&P%7i}w~5r=0eQRv*KH_P=xxNZnRs$CtKeB8rz%Mylp;{+p}uL`Ti*MXWn}3 z0WG~Zf_vGTJm-_yxDCJIvXeYZ)7G|bj5k*k*-=_k85V7QsKmm*a8+dJ`u^du4PtkZ ziOWsjcf87Qb$r$oD`sPUV;%O9!`K@-6=}TegOH;KO~n*V!mjipcl@?@Ev4=1zE+!* z&(hlyjvR9I(eYdsza-Hpui3=;=vEf@5Qi8l*^izmL0>&{b5PE{(2ykNS&ly49@FxU zw@5QQmNQUwG29zT|8aEv+C_b*?*LDX1g=p({>Ld5J!_99nKdcVjlm+%&#e7FBns_B z*t3!T>gecjW4E%2v!!;T8a^v19ZlZ;taAD-hUV|9v{_G+YaUsSOtp>tcboi|;yuuK z-Qv6;GyFpe&RBXlgA)9G!|dnO@v*0!_K07eEn}%Ng5ct^pzhiB=y|3_pbptTkIf`o zQ``$B=l61mASziZsjj!dPx~$x%%^F$`WMGdQwM0p*{1R^O>WdWQ><2ZuqO&_<$vG> z($l9$4qf7rhe@W-oW_6uWbAi*GklVMsy%pbPuHHciFjLZtnhY7%Oxu;$4I?w#Qhly zmAH~TXA@lQ$7LW{j2R@lqAX2Lv&HIlcWO(hX563KdY-q|7!RKbNL>7F9wkoGt{`Gd zDBVt{-YZ*!jP#rR8Qc@)h*A^grrLx1@{P~}`xWv7zFMKeC6C^kquZ(ft%O-Pqlwp zO^exB7R^Y%g*!+4&fy+TEk7ub^+r+T9lqTJS12%S^`zWT^=5Mq#6>cjbT!75c^HXx z*6OM3LX1sik1mXtDPEHq_#8p3Na01pGdwnm1Q^wk%kCbb7_)7H>*;pHN*bfPm%`-a z=u!gWYEnqaLY(F?Bnsm{}697k)8)WR)W~Z1cZNQwKv4(S!-JcVE$VaXThMuiJk?-MML`1u0Qx=nZ&{)F#^2J@sSSL1^F z@?_{r%@nmj)hGA$x^IgRY8@wd6OM`){2_FWr2@eS#x(uA@;T&j)_s{w5s+>83>@ji zXHeZ-yo*jpT|uNxe+Dk;f(JZFcABE^kMplgZ!nIwW?^%&{?IN^uUHsW-N% zWDZfsut=KLL~E{*m~5j_L&wgYI5}Hbj?r=}$--ld9J1+$XY}FuJ$KLhetO?~w1Pt= z+o`*#1VL;k`NhJxOP^_LVw@!}ACnP8!kC~;!~+mdo&m&1n8)PL(fc;1(|IW;Cmwa? zK8Vj=`QsJ{thcD*TdxtQNW>8ej#43};VnAePK7KTH4GeQLczkjY^ZY4kcY;6G#5f$ zgbz7r5X%ZioK_@`B2%l8IP=zyMoRh#LL%$ps6c|)ur~#LnFrvnl7F^Z9+JSK$ zzV3nDfbWdBVS;l2lY{ti7*ivdwqV8zj}3En{Nlj86L($kO~LQReGeXZ@yLhZBK`{C z=?c~&SdRg*7$Om@tRN7;;v#%Lc)jp=;C5qb3N9C%PBjS*HeXd(s8~o?chn{62lQ5w`Jeo;Y!wiOt3F9?G|l*jJ&-n{o) zNN1V&DSV}?^5IqUKmAWL!qwI04Ccbbor$Dt2TaNIRVjzRB;`yWR;j#SbnAAn#eOi` zk~{YV$?T=QtE?ORo5B5O!;`FK&a! s`aJ)xoVqtCY~A~RXTEbQs&5W$iPlqQyOb*#@dgnj?@;mR!8hCf2i9cpU;qFB literal 0 HcmV?d00001 diff --git a/collects/tests/plot/vector-field.png b/collects/tests/plot/vector-field.png new file mode 100644 index 0000000000000000000000000000000000000000..cb9d32e123a3710b6767bc3abff67334a63a31d5 GIT binary patch literal 5639 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 literal 0 HcmV?d00001