about summary refs log tree commit diff
path: root/test/ppmchange.test
blob: d29a699f3053d3f951d73f9bc575afe58038aff8 (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
#! /bin/bash
# This script tests: ppmchange
# Also requires: ppmrainbow pgmramp


#  Failure message
## If this test fails and ppmchange-roundtrip.test succeeds,
## the probably cause is a problem with one of the options of
## ppmchange: -closeness or -remainder.

tmpdir=${tmpdir:-/tmp}
rainbow_ppm=${tmpdir}/rainbow.ppm

# Explicit values for intermediate colors: rgb.txt may be defining them
# in unusual ways.

brown=rgb:67/43/00
cyan=rgb:00/ff/ff
yellow=rgb:ff/ff/00
gray=rgb:7f/7f/7f


# Test 1. Should print 811868957 60
pgmramp -lr 8 8 | ppmchange black black  white white  $gray $gray \
  -close=10 -remainder=blue | cksum


# Test 2. Should print 1008787190 613

ppmrainbow -tmpdir=$tmpdir -width=200 -height=1 red green blue | \
  tee ${rainbow_ppm} | \
  ppmchange red $brown   green $brown   blue $brown | cksum


# Test 3. Should print 3885709071 613

ppmchange red $brown   green $cyan   blue $yellow \
  -closeness=25 ${rainbow_ppm} | cksum


# Test 4. Should print 2101746192 613

ppmchange red rgb:64/00/01 rgb:00/ff/00 rgb:00/32/02 blue blue \
  -remainder=black -closeness=25 ${rainbow_ppm} | cksum

rm ${rainbow_ppm}


# cksum ${rainbow_ppm}
# 1983174784 613 rainbow.ppm

# ppmchange red rgb:64/00/01 rgb:00/ff/00 rgb:00/32/02 blue blue \
#   -remainder=black -closeness=25  ${rainbow_ppm} | \
#   pphist -sort=rgb -noheader
#
#     0     0     0	    0	     75
#     0     0   255	   29	     42
#     0    50     2	   30	     42
#   100     0     1	   30	     41