about summary refs log tree commit diff
path: root/test/pamslice-roundtrip.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/pamslice-roundtrip.test')
-rwxr-xr-xtest/pamslice-roundtrip.test75
1 files changed, 75 insertions, 0 deletions
diff --git a/test/pamslice-roundtrip.test b/test/pamslice-roundtrip.test
new file mode 100755
index 00000000..6cb5533f
--- /dev/null
+++ b/test/pamslice-roundtrip.test
@@ -0,0 +1,75 @@
+#! /bin/bash
+# This script tests: pamslice pamdeinterlace
+# Also requires: pamcut pamtopnm pamflip
+
+
+# Test 1.
+# Slice rows, one by one, out of testgrid.pbm.
+# Add header and reconstruct pbm image.
+# Note that in pamslice output 0 is white and 1 is black: opposite of PBM
+# Should print 2425386270 41
+
+(echo "P1"
+ echo "14 16"
+ seq 0 15 | while read i;
+     do
+     pamslice -row=$i testgrid.pbm
+     done | awk '{print $2}' | sed 'y/01/10/' ) \
+ | pamtopnm | cksum
+
+# Test 2.
+# Slice rows, one by one, out of ppm test image
+# We take a part out of testimg.ppm with pamcut for processing the
+# whole image takes much time.
+# Add header and reconstruct ppm image.
+# Should print 914327477 4864
+
+tmpdir=${tmpdir:-/tmp}
+
+test4933_ppm=${tmpdir}/test4933.ppm
+
+pamcut 50 50 49 33 testimg.ppm > ${test4933_ppm}
+
+(echo "P3"
+ echo "49 33"
+ echo "255"
+ seq 0 32 | while read i;
+     do
+     pamslice -row=$i ${test4933_ppm}
+     done | awk '{print $2, $3, $4}' ) \
+ | pamtopnm | cksum
+
+# Same as above test 2, but take cols instead of rows.
+# Should print 914327477 4864
+
+(echo "P3"
+ echo "33 49"
+ echo "255"
+ seq 0 48 | while read i;
+     do
+     pamslice -col=$i ${test4933_ppm}
+     done | awk '{print $2, $3, $4}' ) \
+ | pamflip -xy | cksum
+
+# Test 4.
+# Divide input image into two with pamdeinterlace and recombine.
+
+testeven_ppm=${tmpdir}/testeven.ppm
+testodd_ppm=${tmpdir}/testodd.ppm
+
+pamdeinterlace -takeodd ${test4933_ppm} > ${testodd_ppm}
+pamdeinterlace -takeeven ${test4933_ppm} > ${testeven_ppm}
+
+(echo "P3"
+ echo "49 33"
+ echo "255"
+ ( seq 0 15 | while read i;
+     do
+     pamslice -row=$i ${testeven_ppm}
+     pamslice -row=$i ${testodd_ppm}
+     done
+     pamslice -row=16 ${testeven_ppm};
+ )  | awk '{print $2, $3, $4}' ) \
+ | pamtopnm | cksum
+
+rm ${test4933_ppm} ${testodd_ppm} ${testeven_ppm}