Skip to content

Commit

Permalink
added more tests, refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
sehugg committed Nov 18, 2023
1 parent 98ccb5d commit 8034978
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 15 deletions.
3 changes: 3 additions & 0 deletions test/test-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { SYSTEM_LOOKUP } from '../src/settings/systems';
import { DithertronSettings } from '../src/common/types';
import { getRGBAErrorPerceptual } from '../src/common/color';
import { Test } from 'tap/dist/commonjs/main';
import * as kernels from "../src/dither/kernels";

const THUMB_WIDTH = 20;
const THUMB_HEIGHT = 12;
Expand Down Expand Up @@ -111,6 +112,8 @@ export function doTest(sysid: string, imagename: string, options: TestOptions) {
const avgbelow = (options.quality * 0.5) || 50;
console.log("doTest()", sysid, imagename);
var dt = await loadDither(sysid, imagename);
if (options.paletteDiversity == null) { options.paletteDiversity = 1.0; }
if (!options.ditherfn) { options.ditherfn = kernels.SIERRALITE; }
Object.assign(dt.sysparams, options);
await doDither(dt, dt.sysparams.id + '-1', maxiters);
await compareWithRef(t, dt, maxbelow, avgbelow);
Expand Down
5 changes: 5 additions & 0 deletions test/unit/test-amiga.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { t } from "tap";
import { doTest } from "../test-utils";

// TODO? doTest('amiga.lores', 'colorswirls.jpg', { maxiters: 5, quality: 100, diffuse: 0.5 });
doTest('amiga.lores.ham6', 'colorswirls.jpg', { maxiters: 5, quality: 75, diffuse: 0.5 });
7 changes: 3 additions & 4 deletions test/unit/test-apple2.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { t } from "tap";
import { doTest } from "../test-utils";
import * as kernels from "../../src/dither/kernels";

doTest('apple2.hires', 'myersflat.jpg', { maxiters: 10, quality: 100, diffuse: 0.5, ditherfn: kernels.SIERRALITE });
doTest('apple2.lores', 'myersflat.jpg', { maxiters: 5, quality: 100, diffuse: 0.5, ditherfn: kernels.SIERRALITE });
doTest('apple2.dblhires', 'myersflat.jpg', { maxiters: 5, quality: 60, diffuse: 0.5, ditherfn: kernels.SIERRALITE });
doTest('apple2.hires', 'myersflat.jpg', { maxiters: 10, quality: 100, diffuse: 0.5 });
doTest('apple2.lores', 'myersflat.jpg', { maxiters: 5, quality: 100, diffuse: 0.5 });
doTest('apple2.dblhires', 'myersflat.jpg', { maxiters: 5, quality: 60, diffuse: 0.5 });
5 changes: 2 additions & 3 deletions test/unit/test-atari.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { t } from "tap";
import { doTest } from "../test-utils";
import * as kernels from "../../src/dither/kernels";

doTest('atari8.d', 'cezanne2.jpg', { maxiters: 5, quality: 140, paletteDiversity: 1.0, diffuse: 0.5, ditherfn: kernels.SIERRALITE });
doTest('atari8.f.10', 'cezanne2.jpg', { maxiters: 5, quality: 60, paletteDiversity: 1.0, diffuse: 0.5, ditherfn: kernels.SIERRALITE });
doTest('atari8.d', 'cezanne2.jpg', { maxiters: 5, quality: 140, diffuse: 0.5 });
doTest('atari8.f.10', 'cezanne2.jpg', { maxiters: 5, quality: 60, diffuse: 0.5 });
9 changes: 4 additions & 5 deletions test/unit/test-c64.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import { t } from "tap";
import { doTest } from "../test-utils";
import * as kernels from "../../src/dither/kernels";

doTest('c64.multi', 'seurat.jpg', { maxiters: 10, quality: 120 });
doTest('c64.multi', 'seurat.jpg', { maxiters: 30, quality: 75, diffuse: 0.5, ditherfn: kernels.SIERRALITE });
doTest('c64.multi', 'seurat.jpg', { maxiters: 30, quality: 75, diffuse: 0.5 });
doTest('c64.multi.fli', 'seurat.jpg', { maxiters: 10, quality: 120 });
doTest('c64.multi.fli', 'seurat.jpg', { maxiters: 50, quality: 75, diffuse: 0.5, ditherfn: kernels.SIERRALITE });
doTest('c64.multi.fli', 'seurat.jpg', { maxiters: 50, quality: 75, diffuse: 0.5 });

doTest('c64.hires', 'keyssunset.jpg', { maxiters: 50, quality: 100, diffuse: 0.5, ditherfn: kernels.SIERRALITE });
doTest('c64.hires.fli', 'keyssunset.jpg', { maxiters: 50, quality: 75, diffuse: 0.5, ditherfn: kernels.SIERRALITE });
doTest('c64.hires', 'keyssunset.jpg', { maxiters: 50, quality: 100, diffuse: 0.5 });
doTest('c64.hires.fli', 'keyssunset.jpg', { maxiters: 50, quality: 75, diffuse: 0.5 });
5 changes: 2 additions & 3 deletions test/unit/test-msx.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { t } from "tap";
import { doTest } from "../test-utils";
import * as kernels from "../../src/dither/kernels";

doTest('msx', 'keyssunset.jpg', { maxiters: 20, quality: 100, diffuse: 0.6, ditherfn: kernels.SIERRALITE });
doTest('msx', 'dhuku.jpg', { maxiters: 20, quality: 130, diffuse: 0.65, ditherfn: kernels.SIERRALITE });
doTest('msx', 'keyssunset.jpg', { maxiters: 20, quality: 100, diffuse: 0.5 });
doTest('msx', 'dhuku.jpg', { maxiters: 20, quality: 130, diffuse: 0.5 });
4 changes: 4 additions & 0 deletions test/unit/test-vic20.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { doTest } from "../test-utils";

doTest('vic20.multi', 'seurat.jpg', { maxiters: 10, quality: 80, diffuse: 0.5 });
doTest('vic20.hires', 'keyssunset.jpg', { maxiters: 10, quality: 160, diffuse: 0.5 });

0 comments on commit 8034978

Please sign in to comment.