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
|
#include <stdio.h>
#include "minc2.h"
#define TESTRPT(msg, val) (error_cnt++, fprintf(stderr, \
"Error reported on line #%d, %s: %d\n", \
__LINE__, msg, val))
static int error_cnt = 0;
int
main(int argc, char **argv)
{
mihandle_t hvol;
int r;
double min, max;
double orig_min, orig_max;
while (--argc > 0) {
r = miopen_volume(*++argv, MI2_OPEN_RDWR, &hvol);
if (r < 0) {
TESTRPT("can't open input", r);
continue;
}
r = miget_volume_valid_min(hvol, &min);
if (r < 0) {
TESTRPT("error getting valid minimum", r);
}
r = miget_volume_valid_max(hvol, &max);
if (r < 0) {
TESTRPT("error getting valid maximum", r);
}
r = miget_volume_valid_range(hvol, &max, &min);
if (r < 0) {
TESTRPT("error getting valid range", r);
}
printf("min %f max %f\n", min, max);
if (min > max) {
TESTRPT("error - min exceeds max!", 0);
}
orig_min = min;
orig_max = max;
/* Try some arbitrary manipulations */
max = orig_max + 100;
min = orig_min - 100;
r = miset_volume_valid_range(hvol, max, min);
if (r < 0) {
TESTRPT("error setting new volume range", 0);
}
r = miget_volume_valid_min(hvol, &min);
if (r != 0 || min != orig_min - 100) {
TESTRPT("error changing volume minimum", 0);
}
r = miget_volume_valid_max(hvol, &max);
if (max != orig_max + 100) {
TESTRPT("error changing volume maximum", 0);
}
r = miset_volume_valid_range(hvol, orig_max, orig_min);
if (r < 0) {
TESTRPT("error restoring volume range", r);
}
miclose_volume(hvol);
}
return (error_cnt);
}
|