about summary refs log tree commit diff
path: root/test/pamditherbw.test
blob: ea3e803f944ab5304134c63dcf15b8a1764f7e78 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#! /bin/sh
# This script tests: pamditherbw
# Also requires: pamchannel pamtopnm

tmpdir=${tmpdir:-/tmp}
test_red=${tmpdir}/testimg.red

# Test 1.  Simple threshold
echo "Test: simple threshold"

pamchannel -infile=testimg.ppm -tupletype="GRAYSCALE" 0 | pamtopnm | \
  tee ${test_red} | \
  pamditherbw -threshold -val=0.5 | cksum


# Test 2. Hilbert
echo "Test: Hilbert"
pamditherbw -hilbert ${test_red} | cksum
pamditherbw -hilbert -clump=4   ${test_red} | cksum
pamditherbw -hilbert -clump=16  ${test_red} | cksum
pamditherbw -hilbert -clump=100 ${test_red} | cksum

# Test 3. Dither-8
echo "Test: Dither-8"
pamditherbw -dither8 ${test_red} | cksum

# Test 4. Cluster-3
echo "Test: Cluster-3"
pamditherbw -cluster4 ${test_red} | cksum

# Test 5. Cluster-4
echo "Test: Cluster-4"
pamditherbw -cluster4 ${test_red} | cksum

# Test 6. Cluster-8
echo "Test: Cluster-8"
pamditherbw -cluster8 ${test_red} | cksum


echo "Test: Invalid"

test_out=${tmpdir}/test_out

echo 1>&2
echo "Invalid command-line argument combinations." 1>&2
echo "Error messages should appear below the line." 1>&2
echo "-----------------------------------------------------------" 1>&2

pamditherbw -fs -atkinson       ${test_red} > ${test_out} || \
  printf "Expected failure 1 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pamditherbw -floyd -atkinson    ${test_red} > ${test_out} || \
  printf "Expected failure 2 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pamditherbw -dither8  -cluster3 ${test_red} > ${test_out} || \
  printf "Expected failure 3 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pamditherbw -cluster3 -cluster4 ${test_red} > ${test_out} || \
  printf "Expected failure 4 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pamditherbw -cluster3 -cluster8 ${test_red} > ${test_out} || \
  printf "Expected failure 5 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pamditherbw -cluster4 -cluster8 ${test_red} > ${test_out} || \
  printf "Expected failure 6 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pamditherbw -hilbert -threshold ${test_red} > ${test_out} || \
  printf "Expected failure 7 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pamditherbw -clump=8            ${test_red} > ${test_out} || \
  printf "Expected failure 8 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pamditherbw -fs -clump=8        ${test_red} > ${test_out} || \
  printf "Expected failure 9 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pamditherbw -hilbert -clump=1   ${test_red} > ${test_out} || \
  printf "Expected failure 10 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pamditherbw -th -value=-1       ${test_red} > ${test_out} || \
  printf "Expected failure 11 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

pamditherbw -th -value=1.1      ${test_red} > ${test_out} || \
  printf "Expected failure 12 "
  test -s ${test_out} && echo "unexpected output" || echo "(no output)"
  rm -f ${test_out}

rm ${test_red}