From 25f23ee0e4b367e3f467c85086189c8264662085 Mon Sep 17 00:00:00 2001 From: Johannes Zillmann Date: Sun, 25 Apr 2021 08:28:48 +0200 Subject: [PATCH] Fix tests --- core/test/debug/LineItemMerger.test.ts | 18 +++++++++++++----- core/test/debug/Page.test.ts | 8 ++++---- core/test/debug/StageResults.test.ts | 14 +++++++------- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/core/test/debug/LineItemMerger.test.ts b/core/test/debug/LineItemMerger.test.ts index 5c11412..19fa910 100644 --- a/core/test/debug/LineItemMerger.test.ts +++ b/core/test/debug/LineItemMerger.test.ts @@ -5,6 +5,8 @@ import Item from 'src/Item'; import { items, realisticItems } from '../testItems'; import { Addition, ContentChange } from 'src/debug/ChangeIndex'; +const defaultSchema = ['line', 'x', 'y', 'str', 'fontNmae', 'dir', 'width', 'height']; + test('Basics', async () => { const itemMerger = new LineItemMerger(); const evaluationTracker = new EvaluationTracker(); @@ -13,6 +15,7 @@ test('Basics', async () => { const mergedItem = itemMerger.merge( evaluationTracker, changeTracker, + defaultSchema, items(0, [ { line: 2, @@ -64,7 +67,12 @@ test('Track all lines as changes', async () => { const itemMerger = new LineItemMerger(true); const evaluationTracker = new EvaluationTracker(); const changeTracker = new ChangeTracker(); - const mergedItem = itemMerger.merge(evaluationTracker, changeTracker, realisticItems(0, [{ line: 1 }, { line: 1 }])); + const mergedItem = itemMerger.merge( + evaluationTracker, + changeTracker, + defaultSchema, + realisticItems(0, [{ line: 1 }, { line: 1 }]), + ); expect(changeTracker.change(mergedItem)).toEqual(new Addition()); }); @@ -75,8 +83,8 @@ test('Mark lines containing evaluated items as evaluated', async () => { const items1 = realisticItems(0, [{ line: 1 }, { line: 1 }]); const items2 = realisticItems(0, [{ line: 2 }, { line: 2 }]); evaluationTracker.trackEvaluation(items1[1]); - const mergedItem1 = itemMerger.merge(evaluationTracker, changeTracker, items1); - const mergedItem2 = itemMerger.merge(evaluationTracker, changeTracker, items2); + const mergedItem1 = itemMerger.merge(evaluationTracker, changeTracker, defaultSchema, items1); + const mergedItem2 = itemMerger.merge(evaluationTracker, changeTracker, defaultSchema, items2); expect(evaluationTracker.evaluated(mergedItem1)).toBeTruthy(); expect(evaluationTracker.evaluated(mergedItem2)).toBeFalsy(); }); @@ -88,8 +96,8 @@ test('Mark lines containing changed items as changed', async () => { const items1 = realisticItems(0, [{ line: 1 }, { line: 1 }]); const items2 = realisticItems(0, [{ line: 2 }, { line: 2 }]); changeTracker.trackPositionalChange(items1[1], 1, 0); - const mergedItem1 = itemMerger.merge(evaluationTracker, changeTracker, items1); - const mergedItem2 = itemMerger.merge(evaluationTracker, changeTracker, items2); + const mergedItem1 = itemMerger.merge(evaluationTracker, changeTracker, defaultSchema, items1); + const mergedItem2 = itemMerger.merge(evaluationTracker, changeTracker, defaultSchema, items2); expect(changeTracker.change(mergedItem1)).toEqual(new ContentChange()); expect(changeTracker.change(mergedItem2)).toEqual(undefined); }); diff --git a/core/test/debug/Page.test.ts b/core/test/debug/Page.test.ts index 06c88c6..add8053 100644 --- a/core/test/debug/Page.test.ts +++ b/core/test/debug/Page.test.ts @@ -9,7 +9,7 @@ import ChangeTracker from 'src/debug/ChangeTracker'; test('empty', async () => { const evaluationTracker = new EvaluationTracker(); const changeTracker = new ChangeTracker(); - expect(asPages(evaluationTracker, changeTracker, [])).toEqual([]); + expect(asPages(evaluationTracker, changeTracker, [], [])).toEqual([]); }); test('no merger', async () => { @@ -25,7 +25,7 @@ test('no merger', async () => { const flattenedItems = new Array().concat(...pageItems); const evaluationTracker = new EvaluationTracker(); const changeTracker = new ChangeTracker(); - const pages = asPages(evaluationTracker, changeTracker, flattenedItems); + const pages = asPages(evaluationTracker, changeTracker, ['id', 'line'], flattenedItems); expect(pages).toEqual([ { index: 0, itemGroups: pageItems[0].map((item) => new ItemGroup(item)) }, { index: 1, itemGroups: pageItems[1].map((item) => new ItemGroup(item)) }, @@ -48,7 +48,7 @@ test('merger', async () => { const merger: ItemMerger = { groupKey: 'line', merge: (items) => items[0] }; const evaluationTracker = new EvaluationTracker(); const changeTracker = new ChangeTracker(); - const pages = asPages(evaluationTracker, changeTracker, flattenedItems, merger); + const pages = asPages(evaluationTracker, changeTracker, ['id', 'line'], flattenedItems, merger); expect(pages).toEqual([ { index: 0, itemGroups: pageItems[0].map((item) => new ItemGroup(item)) }, @@ -56,7 +56,7 @@ test('merger', async () => { index: 1, itemGroups: [ new ItemGroup( - merger.merge(evaluationTracker, changeTracker, pageItems[1].slice(0, 2)), + merger.merge(evaluationTracker, changeTracker, ['id', 'line'], pageItems[1].slice(0, 2)), pageItems[1].slice(0, 2), ), new ItemGroup(pageItems[1][2]), diff --git a/core/test/debug/StageResults.test.ts b/core/test/debug/StageResults.test.ts index 24ca78f..c3aebb4 100644 --- a/core/test/debug/StageResults.test.ts +++ b/core/test/debug/StageResults.test.ts @@ -26,7 +26,7 @@ test('itemsUnpacked', async () => { { idx: 5, line: 1 }, ]), ]; - const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger); + const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger); const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []); expect(result.itemsUnpacked().map((item) => item.data['idx'])).toEqual([0, 1, 2, 3, 4, 5]); @@ -51,7 +51,7 @@ test('itemsCleanedAndUnpacked', async () => { { idx: 5, line: 1 }, ]), ]; - const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger); + const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger); changeTracker.trackRemoval(flatItems[1]); changeTracker.trackRemoval(flatItems[4]); const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []); @@ -84,7 +84,7 @@ describe('select pages', () => { evaluationTracker.trackEvaluation(flatItems[3]); changeTracker.trackAddition(flatItems[2]); changeTracker.trackAddition(flatItems[4]); - const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger); + const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger); const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []); const allGrouped = result.selectPages(false, true); @@ -122,7 +122,7 @@ describe('select pages', () => { { idx: 5, line: 1 }, ]), ]; - const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger); + const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger); const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []); const allGrouped = result.selectPages(false, true); @@ -171,7 +171,7 @@ describe('select pages', () => { ]; changeTracker.trackAddition(flatItems[3]); changeTracker.trackAddition(flatItems[5]); - const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger); + const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger); const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []); const allGrouped = result.selectPages(false, true); @@ -217,7 +217,7 @@ describe('select pages', () => { { idx: 5, line: 1 }, ]), ]; - const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger); + const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger); const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []); const relevantGrouped = result.selectPages(true, true); @@ -237,7 +237,7 @@ describe('select pages', () => { ...items(1, [{ idx: 3 }]), ...items(2, [{ idx: 4 }, { idx: 5 }]), ]; - const pages = asPages(evaluationTracker, changeTracker, flatItems); + const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems); const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []); const relevantGrouped = result.selectPages(true, true);