From 19107de7d85d59335d254aaaa577e71aa0319008 Mon Sep 17 00:00:00 2001 From: Keith Lazuka Date: Wed, 30 Sep 2009 13:33:10 -0400 Subject: [PATCH] images.testing: consolidated TIFF/GIF/PNG/PAM test images and wrote PAM unit tests --- .../{test-images => testing/bmp}/1bit.bmp | Bin .../bmp}/40red24bit.bmp | Bin .../bmp}/41red24bit.bmp | Bin .../bmp}/42red24bit.bmp | Bin .../bmp}/43red24bit.bmp | Bin .../{test-images => testing/bmp}/rgb4bit.bmp | Bin .../{test-images => testing/bmp}/rgb8bit.bmp | Bin .../bmp}/thiswayup24.bmp | Bin .../images/testing/gif}/alpha.gif | Bin .../testing/gif}/astronaut_animation.gif | Bin .../images/testing/gif}/checkmark.gif | Bin .../images/testing/gif}/circle.gif | Bin .../images/testing/gif}/monochrome.gif | Bin .../images/testing/gif}/noise.gif | Bin basis/images/testing/pam/rgb1x1.pam | Bin 0 -> 62 bytes basis/images/testing/pam/rgb2x2.pam | Bin 0 -> 71 bytes basis/images/testing/pam/rgb3x3.pam | Bin 0 -> 86 bytes basis/images/testing/pam/rgba1x1.pam | Bin 0 -> 69 bytes basis/images/testing/pam/rgba2x2.pam | Bin 0 -> 81 bytes basis/images/testing/pam/rgba3x3.pam | Bin 0 -> 101 bytes .../{test-images => testing/png}/rgb.png | Bin basis/images/testing/png/yin_yang.png | Bin 0 -> 9285 bytes basis/images/testing/testing.factor | 13 ++++ .../images/testing/tiff}/alpha.tiff | Bin .../images/testing/tiff}/color_spectrum.tiff | Bin .../tiff}/elephants.tiff | Bin .../images/testing/tiff}/noise.tiff | Bin .../tiff}/octagon.tiff | Bin .../{test-images => testing/tiff}/rgb.tiff | Bin extra/images/pam/pam-tests.factor | 57 ++++++++++++++++++ extra/images/testing/bi.tiff | Bin 8872 -> 0 bytes extra/images/testing/cube.tiff | Bin 936 -> 0 bytes extra/images/testing/noise.bmp | Bin 49208 -> 0 bytes extra/images/testing/small.tiff | Bin 27604 -> 0 bytes extra/images/testing/square.tiff | Bin 660 -> 0 bytes 35 files changed, 70 insertions(+) rename basis/images/{test-images => testing/bmp}/1bit.bmp (100%) rename basis/images/{test-images => testing/bmp}/40red24bit.bmp (100%) rename basis/images/{test-images => testing/bmp}/41red24bit.bmp (100%) rename basis/images/{test-images => testing/bmp}/42red24bit.bmp (100%) rename basis/images/{test-images => testing/bmp}/43red24bit.bmp (100%) rename basis/images/{test-images => testing/bmp}/rgb4bit.bmp (100%) rename basis/images/{test-images => testing/bmp}/rgb8bit.bmp (100%) rename basis/images/{test-images => testing/bmp}/thiswayup24.bmp (100%) rename {extra/images/testing => basis/images/testing/gif}/alpha.gif (100%) rename {extra/images/testing => basis/images/testing/gif}/astronaut_animation.gif (100%) rename {extra/images/testing => basis/images/testing/gif}/checkmark.gif (100%) rename {extra/images/testing => basis/images/testing/gif}/circle.gif (100%) rename {extra/images/testing => basis/images/testing/gif}/monochrome.gif (100%) rename {extra/images/testing => basis/images/testing/gif}/noise.gif (100%) create mode 100644 basis/images/testing/pam/rgb1x1.pam create mode 100644 basis/images/testing/pam/rgb2x2.pam create mode 100644 basis/images/testing/pam/rgb3x3.pam create mode 100644 basis/images/testing/pam/rgba1x1.pam create mode 100644 basis/images/testing/pam/rgba2x2.pam create mode 100644 basis/images/testing/pam/rgba3x3.pam rename basis/images/{test-images => testing/png}/rgb.png (100%) create mode 100644 basis/images/testing/png/yin_yang.png create mode 100644 basis/images/testing/testing.factor rename {extra/images/testing => basis/images/testing/tiff}/alpha.tiff (100%) rename {extra/images/testing => basis/images/testing/tiff}/color_spectrum.tiff (100%) rename basis/images/{test-images => testing/tiff}/elephants.tiff (100%) rename {extra/images/testing => basis/images/testing/tiff}/noise.tiff (100%) rename basis/images/{test-images => testing/tiff}/octagon.tiff (100%) rename basis/images/{test-images => testing/tiff}/rgb.tiff (100%) create mode 100644 extra/images/pam/pam-tests.factor delete mode 100644 extra/images/testing/bi.tiff delete mode 100644 extra/images/testing/cube.tiff delete mode 100644 extra/images/testing/noise.bmp delete mode 100644 extra/images/testing/small.tiff delete mode 100644 extra/images/testing/square.tiff diff --git a/basis/images/test-images/1bit.bmp b/basis/images/testing/bmp/1bit.bmp similarity index 100% rename from basis/images/test-images/1bit.bmp rename to basis/images/testing/bmp/1bit.bmp diff --git a/basis/images/test-images/40red24bit.bmp b/basis/images/testing/bmp/40red24bit.bmp similarity index 100% rename from basis/images/test-images/40red24bit.bmp rename to basis/images/testing/bmp/40red24bit.bmp diff --git a/basis/images/test-images/41red24bit.bmp b/basis/images/testing/bmp/41red24bit.bmp similarity index 100% rename from basis/images/test-images/41red24bit.bmp rename to basis/images/testing/bmp/41red24bit.bmp diff --git a/basis/images/test-images/42red24bit.bmp b/basis/images/testing/bmp/42red24bit.bmp similarity index 100% rename from basis/images/test-images/42red24bit.bmp rename to basis/images/testing/bmp/42red24bit.bmp diff --git a/basis/images/test-images/43red24bit.bmp b/basis/images/testing/bmp/43red24bit.bmp similarity index 100% rename from basis/images/test-images/43red24bit.bmp rename to basis/images/testing/bmp/43red24bit.bmp diff --git a/basis/images/test-images/rgb4bit.bmp b/basis/images/testing/bmp/rgb4bit.bmp similarity index 100% rename from basis/images/test-images/rgb4bit.bmp rename to basis/images/testing/bmp/rgb4bit.bmp diff --git a/basis/images/test-images/rgb8bit.bmp b/basis/images/testing/bmp/rgb8bit.bmp similarity index 100% rename from basis/images/test-images/rgb8bit.bmp rename to basis/images/testing/bmp/rgb8bit.bmp diff --git a/basis/images/test-images/thiswayup24.bmp b/basis/images/testing/bmp/thiswayup24.bmp similarity index 100% rename from basis/images/test-images/thiswayup24.bmp rename to basis/images/testing/bmp/thiswayup24.bmp diff --git a/extra/images/testing/alpha.gif b/basis/images/testing/gif/alpha.gif similarity index 100% rename from extra/images/testing/alpha.gif rename to basis/images/testing/gif/alpha.gif diff --git a/extra/images/testing/astronaut_animation.gif b/basis/images/testing/gif/astronaut_animation.gif similarity index 100% rename from extra/images/testing/astronaut_animation.gif rename to basis/images/testing/gif/astronaut_animation.gif diff --git a/extra/images/testing/checkmark.gif b/basis/images/testing/gif/checkmark.gif similarity index 100% rename from extra/images/testing/checkmark.gif rename to basis/images/testing/gif/checkmark.gif diff --git a/extra/images/testing/circle.gif b/basis/images/testing/gif/circle.gif similarity index 100% rename from extra/images/testing/circle.gif rename to basis/images/testing/gif/circle.gif diff --git a/extra/images/testing/monochrome.gif b/basis/images/testing/gif/monochrome.gif similarity index 100% rename from extra/images/testing/monochrome.gif rename to basis/images/testing/gif/monochrome.gif diff --git a/extra/images/testing/noise.gif b/basis/images/testing/gif/noise.gif similarity index 100% rename from extra/images/testing/noise.gif rename to basis/images/testing/gif/noise.gif diff --git a/basis/images/testing/pam/rgb1x1.pam b/basis/images/testing/pam/rgb1x1.pam new file mode 100644 index 0000000000000000000000000000000000000000..412d9e7cd87b149993010ee6c4451099e8331243 GIT binary patch literal 62 zcmWGA=kjp%boU5RFyspNbP4eQ(!P!nVU9iuMy94*F0KJUA!DwP&;Xy1$N*P`Aa^G& OS3egImmn?%1_l7m+72xM literal 0 HcmV?d00001 diff --git a/basis/images/testing/pam/rgb2x2.pam b/basis/images/testing/pam/rgb2x2.pam new file mode 100644 index 0000000000000000000000000000000000000000..70bed6e2975f9f05008e47f28f1a864c325efddd GIT binary patch literal 71 zcmWGA=kjp%boU5RFyadLbP4eQ(!P!nVU9iuMy94*F0KJUA!DwP&;Xy1$N*P`Aa^G& TS3egImmn?%28RD&0Av6Fb;%Sd literal 0 HcmV?d00001 diff --git a/basis/images/testing/pam/rgb3x3.pam b/basis/images/testing/pam/rgb3x3.pam new file mode 100644 index 0000000000000000000000000000000000000000..dc45e4fa62d4ceedd3862b3e18e63b6914802103 GIT binary patch literal 86 zcmWGA=kjp%boU5RFy;#PbP4eQ(!P!nVU9iuMy94*F0KJ!p^(r3pODA^SA`&VCoWe% f7Y~;puKx@S3}DRi=kGtp`age}{{IK_|NjR7)8`zX literal 0 HcmV?d00001 diff --git a/basis/images/testing/pam/rgba1x1.pam b/basis/images/testing/pam/rgba1x1.pam new file mode 100644 index 0000000000000000000000000000000000000000..0387e9ce91e73976d7372bc5a8cc543f319471d4 GIT binary patch literal 69 zcmWGA=kjp%boU5RFyspNbP4eQ(!P!nVU9iuMy94*F0KJUArr2U&;Xy1$N*P`Aa|#D UN1p%>M=n=C7Y~;pE(Ra~07E(t^8f$< literal 0 HcmV?d00001 diff --git a/basis/images/testing/pam/rgba2x2.pam b/basis/images/testing/pam/rgba2x2.pam new file mode 100644 index 0000000000000000000000000000000000000000..fabbff1aa3ee2c4a466b0b76cda0742eac22e523 GIT binary patch literal 81 zcmWGA=kjp%boU5RFyadLbP4eQ(!P!nVU9iuMy94*F0KJUArr2U&;Xy1$N*P`Aa|#D cN1p%>M=n=C7Y~;pE(QjM|3CmDfJ}z}07mZ@?EnA( literal 0 HcmV?d00001 diff --git a/basis/images/testing/pam/rgba3x3.pam b/basis/images/testing/pam/rgba3x3.pam new file mode 100644 index 0000000000000000000000000000000000000000..3dd52ada3aca856ff7a6c72d95b7a8e18911a3bf GIT binary patch literal 101 zcmW-WOA3H63Tl&yyto=$=Pd@_a1VsuQPd4=-bP9u&AytT s>#hTfoURt)!XX}vdUnHU0+RupEZG@EDfy>Fs{4_*xa59H$*9z_KFLldTmS$7 literal 0 HcmV?d00001 diff --git a/basis/images/test-images/rgb.png b/basis/images/testing/png/rgb.png similarity index 100% rename from basis/images/test-images/rgb.png rename to basis/images/testing/png/rgb.png diff --git a/basis/images/testing/png/yin_yang.png b/basis/images/testing/png/yin_yang.png new file mode 100644 index 0000000000000000000000000000000000000000..16d4ad06f6a56785190016e0943d75a6f4d1d35b GIT binary patch literal 9285 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 dup [ + path load-image image-class image>stream + ] with-output-stream B{ } like + ] unit-test ; diff --git a/extra/images/testing/alpha.tiff b/basis/images/testing/tiff/alpha.tiff similarity index 100% rename from extra/images/testing/alpha.tiff rename to basis/images/testing/tiff/alpha.tiff diff --git a/extra/images/testing/color_spectrum.tiff b/basis/images/testing/tiff/color_spectrum.tiff similarity index 100% rename from extra/images/testing/color_spectrum.tiff rename to basis/images/testing/tiff/color_spectrum.tiff diff --git a/basis/images/test-images/elephants.tiff b/basis/images/testing/tiff/elephants.tiff similarity index 100% rename from basis/images/test-images/elephants.tiff rename to basis/images/testing/tiff/elephants.tiff diff --git a/extra/images/testing/noise.tiff b/basis/images/testing/tiff/noise.tiff similarity index 100% rename from extra/images/testing/noise.tiff rename to basis/images/testing/tiff/noise.tiff diff --git a/basis/images/test-images/octagon.tiff b/basis/images/testing/tiff/octagon.tiff similarity index 100% rename from basis/images/test-images/octagon.tiff rename to basis/images/testing/tiff/octagon.tiff diff --git a/basis/images/test-images/rgb.tiff b/basis/images/testing/tiff/rgb.tiff similarity index 100% rename from basis/images/test-images/rgb.tiff rename to basis/images/testing/tiff/rgb.tiff diff --git a/extra/images/pam/pam-tests.factor b/extra/images/pam/pam-tests.factor new file mode 100644 index 0000000000..e8d52f87e2 --- /dev/null +++ b/extra/images/pam/pam-tests.factor @@ -0,0 +1,57 @@ +! Copyright (C) 2009 Keith Lazuka. +! See http://factorcode.org/license.txt for BSD license. +USING: accessors byte-arrays images.loader images.pam +images.testing io io.encodings.binary io.files +io.streams.byte-array kernel quotations tools.test ; +IN: images.pam.tests + +! ----------- Encoder Tests ------------------------------ + +"vocab:images/testing/pam/rgb1x1.pam" pam-image encode-test +"vocab:images/testing/pam/rgba1x1.pam" pam-image encode-test +"vocab:images/testing/pam/rgb2x2.pam" pam-image encode-test +"vocab:images/testing/pam/rgba2x2.pam" pam-image encode-test +"vocab:images/testing/pam/rgb3x3.pam" pam-image encode-test +"vocab:images/testing/pam/rgba3x3.pam" pam-image encode-test + +! ----------- Decoder Tests ------------------------------ + +! 1x1 + +[ { 1 1 } ] [ "vocab:images/testing/pam/rgb1x1.pam" load-image dim>> ] unit-test + +[ B{ 0 0 0 } ] +[ "vocab:images/testing/pam/rgb1x1.pam" load-image bitmap>> ] unit-test + +[ B{ 0 0 0 0 } ] +[ "vocab:images/testing/pam/rgba1x1.pam" load-image bitmap>> ] unit-test + +! 2x2 + +[ { 2 2 } ] [ "vocab:images/testing/pam/rgb2x2.pam" load-image dim>> ] unit-test + +[ B{ 0 0 0 255 255 255 255 255 255 0 0 0 } ] +[ "vocab:images/testing/pam/rgb2x2.pam" load-image bitmap>> ] unit-test + +[ B{ 0 0 0 255 255 255 255 0 255 255 255 0 0 0 0 255 } ] +[ "vocab:images/testing/pam/rgba2x2.pam" load-image bitmap>> ] unit-test + +! 3x3 + +[ + B{ + 255 0 0 0 255 0 0 0 255 + 4 252 253 254 1 127 252 253 2 + 255 255 255 0 0 0 255 255 255 + } +] +[ "vocab:images/testing/pam/rgb3x3.pam" load-image bitmap>> ] unit-test + +[ + B{ + 255 0 0 255 0 255 0 255 0 0 255 255 + 4 252 253 255 254 1 127 255 252 253 2 255 + 255 255 255 255 0 0 0 255 255 255 255 0 + } +] +[ "vocab:images/testing/pam/rgba3x3.pam" load-image bitmap>> ] unit-test diff --git a/extra/images/testing/bi.tiff b/extra/images/testing/bi.tiff deleted file mode 100644 index ad0ce97cc0cfd91ba2c89acb3435cbf255f2de84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8872 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 XZK9=>kdUAmzM%;>SW|OfY$*6YG-qSv diff --git a/extra/images/testing/cube.tiff b/extra/images/testing/cube.tiff deleted file mode 100644 index eef52e32d8a421eabd24f55e70cf24d0ded05318..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmebD)MD^qVqj>nf8fBOBF4+!!g1<=@EMV%tiFyRx>tk$e&y(KQ}F+Bro;#STWkOHKNB1>6sB;tXoCFWTDuhbJI~ zVa|gU2Mp|@*w{mb4tFTr(6nf_n}5NHX&J}IeXVU5+^vOL7%aMY4lo$7urbsyID|S# z$Z<$qXApC#P*C8ss5{kn`iIiT<1Cy!4;mao1W)XJJjYdS0-GAgd(Q3${mWYf-xMpX z-Vw#Uz2O#zbhC$|Q`Uku##2p<51X&CEM(Vg_|cji{i_diy@+UMLZ=@@>-h4+n_Ezhk-eJ^NQCD3;{+>p;uct801WzoXOt&de?@`nNM^b<`{4|q}Vkm331u3 zYGBBj6wLm+?3JQu;Iedq(m$IM&b>I0=D?tw#bu_jJaCqS{KL1KninXDFfcGOGcYnR zFbDuKBNCel$YueGIWaRZFhj*zfqXV78<+qYxS(v1eqKf<2B2vSUO@GNj4WU?Ie>g2 zBsHQ?HppBtD7yj37Kf^L0U9dB$O_gQ2Q)_-%1#5aWsuC#fU<$Y42D2^t$=hMkYfuK z2f57)Y9^4$5QHQS;&VV@QE6UYVp2}3ZdrbEVv=4-W?CA91J`vepb|zH?U|dHp6Z*J yo|&AjV5VoHXP{tUu5W0hZ(yMiXlSO8QBqQ1rLSLJUapr3QVGOBm3sL_=?nmz#2CZ? diff --git a/extra/images/testing/noise.bmp b/extra/images/testing/noise.bmp deleted file mode 100644 index 8e47f143ddbc135c05ed58c80e9aac4cb272be7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49208 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 diff --git a/extra/images/testing/square.tiff b/extra/images/testing/square.tiff deleted file mode 100644 index 16e94f70b88942617ab6b382855474b71b5580d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 zcmebD)MBtSi?d(?3*Xf zP~c!-s%A;(yc+yx)!$aPhbjhK9XbD+j8Z1-XkfT=pnm$KVhI_IDn=gxh1DN;1oD^} zn4|*BA25FS-ZU>F|Fe@)r)^80gT|?lx%Fy{JQ3?ZH#_MkxjWo{KF#^h^SG8X3z-AB zgibLm^E{@r{O7B?BKs5-5`<41{;S^Oykf(|KBH5N@dp`{#j5{uw|74E_y3i_@abIr z!c7L%S7f3XEpEoY{?V4Z;=lU~rKrzslQ=3f?Jr5~Fx$qX$uP6%hxpGVAI6-c&luS1 zGCp0eUsf?8&P2q6QJ-6L{kt^+oYs#T7*xMK{_D1A{gD<0p$&%?F!1<2XAs|9`7dOK zNB6ET4jrr2nGOmV9b`G!;l;!t!oa}D%m55L1_2;uL}D`m*(^XYBPIq0W~ewTkk1BX z1BDs5plpzSUPdOc8CF0EK}Hs^nH)fIAtW`TP&UY1F(|tM$QFmHHwGFc#mEZQ3v?WV zG?X0#WXm9#qXA_z1N9mL?X?2ZQ9w1eP;nrW!3%08kjW5)Bo5+pKw)xDVsWuB&Q>tfGto0pFfi9QG}1S)PzW?MQ^+VODX`Ml UFE20G%LJ(eVxUUB{GxOQ0QB0WtpET3