diff --git a/src/main.ts b/src/main.ts index 77870ab..a73e164 100644 --- a/src/main.ts +++ b/src/main.ts @@ -86,7 +86,14 @@ app.innerHTML = ` 100% 结果相对原文的总长度 - + diff --git a/src/mosaic.test.ts b/src/mosaic.test.ts index dd0bb1a..9f780b7 100644 --- a/src/mosaic.test.ts +++ b/src/mosaic.test.ts @@ -74,6 +74,22 @@ describe('generateMosaic', () => { expect(ratio).toBeLessThanOrEqual(1.03) }) + it('支持将体量压缩到 10% 或膨胀到 1000%', () => { + const compressed = generateMosaic(SOURCE, [], { + volume: 10, + disorder: 0, + seed: 42, + }) + const expanded = generateMosaic(SOURCE, [], { + volume: 1000, + disorder: 0, + seed: 42, + }) + + expect(compressed.outputLength).toBe(Math.round(compressed.inputLength * 0.1)) + expect(expanded.outputLength).toBe(expanded.inputLength * 10) + }) + it('相同种子可复现,不同种子会重新侵蚀', () => { const candidates = selectKeywords(SOURCE, 14, 1) const first = generateMosaic(SOURCE, candidates, {