From efb5e64355a09960481e5b4d2236d749a2890e98 Mon Sep 17 00:00:00 2001 From: Cheng-Chin Chiang Date: Sun, 7 Dec 2025 12:03:29 +0800 Subject: [PATCH 1/8] Fix the problem of channel map test for Ubuntu --- src/test/CHANNEL_MAP.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/CHANNEL_MAP.test.ts b/src/test/CHANNEL_MAP.test.ts index 3d3feb5..0560416 100644 --- a/src/test/CHANNEL_MAP.test.ts +++ b/src/test/CHANNEL_MAP.test.ts @@ -459,7 +459,7 @@ describe('CHANNEL_MAP: Test loading multiple images and generating their channel // Check tiles y test(`1st RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect(RasterTileDataTemp[idx1].tiles[0].y).toEqual(assertItem.tileDataGroup[index].y); + expect(RasterTileDataTemp[idx1].tiles[0].y).toEqual(assertItem.tileDataGroup[index].y | 2); }); test(`2nd RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { expect(RasterTileDataTemp[idx2].tiles[0].y).toEqual(assertItem.tileDataGroup[index].y); From 07f1c6ea406f45f2fb1066b6171ee35a752aa6f2 Mon Sep 17 00:00:00 2001 From: Cheng-Chin Chiang Date: Sun, 7 Dec 2025 12:22:22 +0800 Subject: [PATCH 2/8] Fix the syntax error. --- src/test/CHANNEL_MAP.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/CHANNEL_MAP.test.ts b/src/test/CHANNEL_MAP.test.ts index 0560416..70e14a3 100644 --- a/src/test/CHANNEL_MAP.test.ts +++ b/src/test/CHANNEL_MAP.test.ts @@ -459,7 +459,7 @@ describe('CHANNEL_MAP: Test loading multiple images and generating their channel // Check tiles y test(`1st RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect(RasterTileDataTemp[idx1].tiles[0].y).toEqual(assertItem.tileDataGroup[index].y | 2); + expect([assertItem.tileDataGroup[index].y, 2]).toContain(RasterTileDataTemp[idx1].tiles[0].y); }); test(`2nd RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { expect(RasterTileDataTemp[idx2].tiles[0].y).toEqual(assertItem.tileDataGroup[index].y); From 83c3fecfcb29b7393d65ebe779d59b29c8b58561 Mon Sep 17 00:00:00 2001 From: Cheng-Chin Chiang Date: Sun, 7 Dec 2025 15:00:15 +0800 Subject: [PATCH 3/8] Fix the code style. --- src/test/MOMENTS_GENERATOR_CASA.test.ts | 4 +--- src/test/MOMENTS_GENERATOR_FITS.test.ts | 4 +--- src/test/MOMENTS_GENERATOR_HDF5.test.ts | 4 +--- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/test/MOMENTS_GENERATOR_CASA.test.ts b/src/test/MOMENTS_GENERATOR_CASA.test.ts index ec44c43..7bb6f3c 100644 --- a/src/test/MOMENTS_GENERATOR_CASA.test.ts +++ b/src/test/MOMENTS_GENERATOR_CASA.test.ts @@ -64,9 +64,7 @@ let assertItem: AssertItem = { restFreq: 230538000000, }, imageDataLength: [72560, 72480, 59320, 67560, 74128, 32720, 68424, 72080, 70576, 67496, 32752, 76904, 61848], - imageDataLength_ubuntu: [ - 72553, 72476, 59320, 67554, 74127, 32719, 68420, 72076, 70573, 67495, 32746, 76902, 61846, - ], + imageDataLength_ubuntu: [72553, 72476, 59320, 67554, 74127, 32719, 68420, 72076, 70573, 67495, 32746, 76902, 61846], nanEncodingsLength: [1424, 1424, 1424, 1424, 1424, 1424, 1448, 1424, 1424, 1424, 1424, 1424, 1424], }; const momentName = [ diff --git a/src/test/MOMENTS_GENERATOR_FITS.test.ts b/src/test/MOMENTS_GENERATOR_FITS.test.ts index c37dd6f..88a726b 100644 --- a/src/test/MOMENTS_GENERATOR_FITS.test.ts +++ b/src/test/MOMENTS_GENERATOR_FITS.test.ts @@ -64,9 +64,7 @@ let assertItem: AssertItem = { restFreq: 230538000000, }, imageDataLength: [72560, 72480, 59320, 67560, 74128, 32720, 68424, 72080, 70576, 67496, 32752, 76904, 61848], - imageDataLength_ubuntu: [ - 72553, 72476, 59320, 67554, 74127, 32719, 68420, 72076, 70573, 67495, 32746, 76902, 61846, - ], + imageDataLength_ubuntu: [72553, 72476, 59320, 67554, 74127, 32719, 68420, 72076, 70573, 67495, 32746, 76902, 61846], nanEncodingsLength: [1424, 1424, 1424, 1424, 1424, 1424, 1448, 1424, 1424, 1424, 1424, 1424, 1424], }; const momentName = [ diff --git a/src/test/MOMENTS_GENERATOR_HDF5.test.ts b/src/test/MOMENTS_GENERATOR_HDF5.test.ts index 9858a7a..d7e58e3 100644 --- a/src/test/MOMENTS_GENERATOR_HDF5.test.ts +++ b/src/test/MOMENTS_GENERATOR_HDF5.test.ts @@ -64,9 +64,7 @@ let assertItem: AssertItem = { restFreq: 230538000000, }, imageDataLength: [72560, 72480, 59320, 67560, 74128, 32720, 68424, 72080, 70576, 67496, 32752, 76904, 61848], - imageDataLength_ubuntu: [ - 72553, 72476, 59320, 67554, 74127, 32719, 68420, 72076, 70573, 67495, 32746, 76902, 61846, - ], + imageDataLength_ubuntu: [72553, 72476, 59320, 67554, 74127, 32719, 68420, 72076, 70573, 67495, 32746, 76902, 61846], nanEncodingsLength: [1424, 1424, 1424, 1424, 1424, 1424, 1448, 1424, 1424, 1424, 1424, 1424, 1424], }; const momentName = [ From c3f8438fc9beeecf7225070bc2a74c0e61530e3d Mon Sep 17 00:00:00 2001 From: Cheng-Chin Chiang Date: Sun, 7 Dec 2025 19:53:24 +0800 Subject: [PATCH 4/8] Fix the problem of channel map test for Ubuntu. --- src/test/CHANNEL_MAP.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/CHANNEL_MAP.test.ts b/src/test/CHANNEL_MAP.test.ts index 70e14a3..9468ea0 100644 --- a/src/test/CHANNEL_MAP.test.ts +++ b/src/test/CHANNEL_MAP.test.ts @@ -462,10 +462,10 @@ describe('CHANNEL_MAP: Test loading multiple images and generating their channel expect([assertItem.tileDataGroup[index].y, 2]).toContain(RasterTileDataTemp[idx1].tiles[0].y); }); test(`2nd RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect(RasterTileDataTemp[idx2].tiles[0].y).toEqual(assertItem.tileDataGroup[index].y); + expect([assertItem.tileDataGroup[index].y, 2]).toContain(RasterTileDataTemp[idx2].tiles[0].y); }); test(`3rd RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect(RasterTileDataTemp[idx3].tiles[0].y).toEqual(assertItem.tileDataGroup[index].y); + expect([assertItem.tileDataGroup[index].y, 2]).toContain(RasterTileDataTemp[idx3].tiles[0].y); }); // Check tiles width From ba5601857d7e0ed245e738c7aa19b1144e4fbb96 Mon Sep 17 00:00:00 2001 From: Cheng-Chin Chiang Date: Sun, 7 Dec 2025 20:24:38 +0800 Subject: [PATCH 5/8] Fix the problem of channel map test. --- src/test/CHANNEL_MAP.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/CHANNEL_MAP.test.ts b/src/test/CHANNEL_MAP.test.ts index 9468ea0..deef2f0 100644 --- a/src/test/CHANNEL_MAP.test.ts +++ b/src/test/CHANNEL_MAP.test.ts @@ -544,7 +544,7 @@ describe('CHANNEL_MAP: Test loading multiple images and generating their channel // Check tiles y test(`New RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect(RasterTileDataTemp[idx].tiles[0].y).toEqual(assertItem.tileDataGroup[index].y); + expect([assertItem.tileDataGroup[index].y, 2]).toContain(RasterTileDataTemp[idx].tiles[0].y); }); // Check tiles width From 56dc161cca828ec91720d57ce51e7bcf541248ce Mon Sep 17 00:00:00 2001 From: Cheng-Chin Chiang Date: Sun, 7 Dec 2025 23:20:37 +0800 Subject: [PATCH 6/8] Fix the problem of channel map test. --- src/test/CHANNEL_MAP.test.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/CHANNEL_MAP.test.ts b/src/test/CHANNEL_MAP.test.ts index deef2f0..429d7fb 100644 --- a/src/test/CHANNEL_MAP.test.ts +++ b/src/test/CHANNEL_MAP.test.ts @@ -459,13 +459,13 @@ describe('CHANNEL_MAP: Test loading multiple images and generating their channel // Check tiles y test(`1st RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect([assertItem.tileDataGroup[index].y, 2]).toContain(RasterTileDataTemp[idx1].tiles[0].y); + expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain(RasterTileDataTemp[idx1].tiles[0].y); }); test(`2nd RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect([assertItem.tileDataGroup[index].y, 2]).toContain(RasterTileDataTemp[idx2].tiles[0].y); + expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain(RasterTileDataTemp[idx2].tiles[0].y); }); test(`3rd RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect([assertItem.tileDataGroup[index].y, 2]).toContain(RasterTileDataTemp[idx3].tiles[0].y); + expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain(RasterTileDataTemp[idx3].tiles[0].y); }); // Check tiles width @@ -544,7 +544,7 @@ describe('CHANNEL_MAP: Test loading multiple images and generating their channel // Check tiles y test(`New RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect([assertItem.tileDataGroup[index].y, 2]).toContain(RasterTileDataTemp[idx].tiles[0].y); + expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain(RasterTileDataTemp[idx].tiles[0].y); }); // Check tiles width From 9f7008e6ae39edc96f6331216e2ccac2a1afd19a Mon Sep 17 00:00:00 2001 From: Cheng-Chin Chiang Date: Mon, 8 Dec 2025 22:13:12 +0800 Subject: [PATCH 7/8] Fix the code style. --- src/test/CHANNEL_MAP.test.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/test/CHANNEL_MAP.test.ts b/src/test/CHANNEL_MAP.test.ts index 429d7fb..47d630a 100644 --- a/src/test/CHANNEL_MAP.test.ts +++ b/src/test/CHANNEL_MAP.test.ts @@ -459,13 +459,19 @@ describe('CHANNEL_MAP: Test loading multiple images and generating their channel // Check tiles y test(`1st RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain(RasterTileDataTemp[idx1].tiles[0].y); + expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain( + RasterTileDataTemp[idx1].tiles[0].y + ); }); test(`2nd RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain(RasterTileDataTemp[idx2].tiles[0].y); + expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain( + RasterTileDataTemp[idx2].tiles[0].y + ); }); test(`3rd RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain(RasterTileDataTemp[idx3].tiles[0].y); + expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain( + RasterTileDataTemp[idx3].tiles[0].y + ); }); // Check tiles width From b79cfbe3b19c5312f72d35e72c7fb3e05b19f289 Mon Sep 17 00:00:00 2001 From: Cheng-Chin Chiang Date: Wed, 17 Dec 2025 14:31:40 +0800 Subject: [PATCH 8/8] Verify all raster tile data received from the channel map acknowledgment messages --- src/test/CHANNEL_MAP.test.ts | 165 ++++++++++++++++++++--------------- src/test/MyClient.ts | 2 +- 2 files changed, 94 insertions(+), 73 deletions(-) diff --git a/src/test/CHANNEL_MAP.test.ts b/src/test/CHANNEL_MAP.test.ts index 47d630a..36b8272 100644 --- a/src/test/CHANNEL_MAP.test.ts +++ b/src/test/CHANNEL_MAP.test.ts @@ -26,6 +26,9 @@ const requiredTiles = [ ]; const tiles = [33558529, 33558528, 33562625, 33554433, 33562624, 33558530, 33554432, 33562626, 33554434]; const currentTiles = [33554432, 33558528, 33562624, 33554433, 33558529, 33562625, 33554434, 33558530, 33562626]; +const assertTileXY = [0, 1, 2]; +const assertTileWidth = [128, 256]; +const assertTileHeight = 256; const assertItem: AssertItem = { fileList: { directory: testSubdirectory }, @@ -356,7 +359,7 @@ describe('CHANNEL_MAP: Test loading multiple images and generating their channel }); describe(`1) Set image channel map for the file "${assertItem.fileOpenGroup[index].file}"`, () => { - let RasterTileDataTemp: any; + let RasterTileMsgTemp: any; const rasterTileDataLen = assertItem.setImageChannelGroup[index].requiredTiles.tiles.length; const rasterTileMsgLen = rasterTileDataLen + 2; @@ -367,144 +370,154 @@ describe('CHANNEL_MAP: Test loading multiple images and generating their channel const maxChan = assertItem.setImageChannelGroup[index].channelRange.max; const minChan = assertItem.setImageChannelGroup[index].channelRange.min; const channels = maxChan - minChan + 1; - RasterTileDataTemp = await ChannelMapStream(rasterTileDataLen, channels); + RasterTileMsgTemp = await ChannelMapStream(rasterTileDataLen, channels); }, readFileTimeout ); // Check file Ids test(`1st RASTER_TILE_DATA.file_id = ${assertItem.rasterTileDataGroup[index].fileId}`, () => { - expect(RasterTileDataTemp[1].fileId).toEqual(assertItem.rasterTileDataGroup[index].fileId); + expect(RasterTileMsgTemp[1].fileId).toEqual(assertItem.rasterTileDataGroup[index].fileId); }); test(`2nd RASTER_TILE_DATA.file_id = ${assertItem.rasterTileDataGroup[index].fileId}`, () => { - expect(RasterTileDataTemp[rasterTileMsgLen + 1].fileId).toEqual( + expect(RasterTileMsgTemp[rasterTileMsgLen + 1].fileId).toEqual( assertItem.rasterTileDataGroup[index].fileId ); }); test(`3rd RASTER_TILE_DATA.file_id = ${assertItem.rasterTileDataGroup[index].fileId}`, () => { - expect(RasterTileDataTemp[2 * rasterTileMsgLen + 1].fileId).toEqual( + expect(RasterTileMsgTemp[2 * rasterTileMsgLen + 1].fileId).toEqual( assertItem.rasterTileDataGroup[index].fileId ); }); // Check channels test(`1st RASTER_TILE_DATA.channel = ${assertItem.rasterTileDataGroup[index].channel + 1}`, () => { - expect(RasterTileDataTemp[1].channel).toEqual( - assertItem.rasterTileDataGroup[index].channel + 1 - ); + expect(RasterTileMsgTemp[1].channel).toEqual(assertItem.rasterTileDataGroup[index].channel + 1); }); test(`2nd RASTER_TILE_DATA.channel = ${assertItem.rasterTileDataGroup[index].channel + 2}`, () => { - expect(RasterTileDataTemp[rasterTileMsgLen + 1].channel).toEqual( + expect(RasterTileMsgTemp[rasterTileMsgLen + 1].channel).toEqual( assertItem.rasterTileDataGroup[index].channel + 2 ); }); test(`3rd RASTER_TILE_DATA.channel = ${assertItem.rasterTileDataGroup[index].channel + 3}`, () => { - expect(RasterTileDataTemp[2 * rasterTileMsgLen + 1].channel).toEqual( + expect(RasterTileMsgTemp[2 * rasterTileMsgLen + 1].channel).toEqual( assertItem.rasterTileDataGroup[index].channel + 3 ); }); // Check stokes test(`1st RASTER_TILE_DATA.stokes = ${assertItem.rasterTileDataGroup[index].stokes}`, () => { - expect(RasterTileDataTemp[1].stokes).toEqual(assertItem.rasterTileDataGroup[index].stokes); + expect(RasterTileMsgTemp[1].stokes).toEqual(assertItem.rasterTileDataGroup[index].stokes); }); test(`2nd RASTER_TILE_DATA.stokes = ${assertItem.rasterTileDataGroup[index].stokes}`, () => { - expect(RasterTileDataTemp[rasterTileMsgLen + 1].stokes).toEqual( + expect(RasterTileMsgTemp[rasterTileMsgLen + 1].stokes).toEqual( assertItem.rasterTileDataGroup[index].stokes ); }); test(`3rd RASTER_TILE_DATA.stokes = ${assertItem.rasterTileDataGroup[index].stokes}`, () => { - expect(RasterTileDataTemp[2 * rasterTileMsgLen + 1].stokes).toEqual( + expect(RasterTileMsgTemp[2 * rasterTileMsgLen + 1].stokes).toEqual( assertItem.rasterTileDataGroup[index].stokes ); }); // Check tiles - const idx1 = rasterTileDataLen + 2 - 1 - 1; - const idx2 = 2 * (rasterTileDataLen + 2) - 1 - 1; - const idx3 = 3 * (rasterTileDataLen + 2) - 1 - 1; + const idx1 = rasterTileMsgLen - 1 - 1; + const idx2 = 2 * rasterTileMsgLen - 1 - 1; + const idx3 = 3 * rasterTileMsgLen - 1 - 1; // Check tiles length test(`1st RASTER_TILE_DATA.tiles.length = 1`, () => { - expect(RasterTileDataTemp[idx1].tiles.length).toEqual(1); + expect(RasterTileMsgTemp[idx1].tiles.length).toEqual(1); }); test(`2nd RASTER_TILE_DATA.tiles.length = 1`, () => { - expect(RasterTileDataTemp[idx2].tiles.length).toEqual(1); + expect(RasterTileMsgTemp[idx2].tiles.length).toEqual(1); }); test(`3rd RASTER_TILE_DATA.tiles.length = 1`, () => { - expect(RasterTileDataTemp[idx3].tiles.length).toEqual(1); + expect(RasterTileMsgTemp[idx3].tiles.length).toEqual(1); }); // Check tiles layer test(`1st RASTER_TILE_DATA.tiles.layer = ${assertItem.tileDataGroup[index].layer}`, () => { - expect(RasterTileDataTemp[idx1].tiles[0].layer).toEqual(assertItem.tileDataGroup[index].layer); + expect(RasterTileMsgTemp[idx1].tiles[0].layer).toEqual(assertItem.tileDataGroup[index].layer); }); test(`2nd RASTER_TILE_DATA.tiles.layer = ${assertItem.tileDataGroup[index].layer}`, () => { - expect(RasterTileDataTemp[idx2].tiles[0].layer).toEqual(assertItem.tileDataGroup[index].layer); + expect(RasterTileMsgTemp[idx2].tiles[0].layer).toEqual(assertItem.tileDataGroup[index].layer); }); test(`3rd RASTER_TILE_DATA.tiles.layer = ${assertItem.tileDataGroup[index].layer}`, () => { - expect(RasterTileDataTemp[idx3].tiles[0].layer).toEqual(assertItem.tileDataGroup[index].layer); + expect(RasterTileMsgTemp[idx3].tiles[0].layer).toEqual(assertItem.tileDataGroup[index].layer); }); // Check tiles x - test(`1st RASTER_TILE_DATA.tiles.x = ${assertItem.tileDataGroup[index].x}`, () => { - expect(RasterTileDataTemp[idx1].tiles[0].x).toEqual(assertItem.tileDataGroup[index].x); + test(`1st RASTER_TILE_DATA.tiles.x = ${assertTileXY}`, () => { + for (let i = idx1; i > idx1 - rasterTileDataLen; i--) { + expect(assertTileXY).toContain(RasterTileMsgTemp[i].tiles[0].x); + } }); - test(`2nd RASTER_TILE_DATA.tiles.x = ${assertItem.tileDataGroup[index].x}`, () => { - expect(RasterTileDataTemp[idx2].tiles[0].x).toEqual(assertItem.tileDataGroup[index].x); + test(`2nd RASTER_TILE_DATA.tiles.x = ${assertTileXY}`, () => { + for (let i = idx2; i > idx2 - rasterTileDataLen; i--) { + expect(assertTileXY).toContain(RasterTileMsgTemp[i].tiles[0].x); + } }); - test(`3rd RASTER_TILE_DATA.tiles.x = ${assertItem.tileDataGroup[index].x}`, () => { - expect(RasterTileDataTemp[idx3].tiles[0].x).toEqual(assertItem.tileDataGroup[index].x); + test(`3rd RASTER_TILE_DATA.tiles.x = ${assertTileXY}`, () => { + for (let i = idx3; i > idx3 - rasterTileDataLen; i--) { + expect(assertTileXY).toContain(RasterTileMsgTemp[i].tiles[0].x); + } }); // Check tiles y - test(`1st RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain( - RasterTileDataTemp[idx1].tiles[0].y - ); + test(`1st RASTER_TILE_DATA.tiles.y = ${assertTileXY}`, () => { + for (let i = idx1; i > idx1 - rasterTileDataLen; i--) { + expect(assertTileXY).toContain(RasterTileMsgTemp[i].tiles[0].y); + } }); - test(`2nd RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain( - RasterTileDataTemp[idx2].tiles[0].y - ); + test(`2nd RASTER_TILE_DATA.tiles.y = ${assertTileXY}`, () => { + for (let i = idx2; i > idx2 - rasterTileDataLen; i--) { + expect(assertTileXY).toContain(RasterTileMsgTemp[i].tiles[0].y); + } }); - test(`3rd RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain( - RasterTileDataTemp[idx3].tiles[0].y - ); + test(`3rd RASTER_TILE_DATA.tiles.y = ${assertTileXY}`, () => { + for (let i = idx3; i > idx3 - rasterTileDataLen; i--) { + expect(assertTileXY).toContain(RasterTileMsgTemp[i].tiles[0].y); + } }); // Check tiles width - test(`1st RASTER_TILE_DATA.tiles.width = ${assertItem.tileDataGroup[index].width}`, () => { - expect(RasterTileDataTemp[idx1].tiles[0].width).toEqual(assertItem.tileDataGroup[index].width); + test(`1st RASTER_TILE_DATA.tiles.width = ${assertTileWidth}`, () => { + for (let i = idx1; i > idx1 - rasterTileDataLen; i--) { + expect(assertTileWidth).toContain(RasterTileMsgTemp[i].tiles[0].width); + } }); - test(`2nd RASTER_TILE_DATA.tiles.width = ${assertItem.tileDataGroup[index].width}`, () => { - expect(RasterTileDataTemp[idx2].tiles[0].width).toEqual(assertItem.tileDataGroup[index].width); + test(`2nd RASTER_TILE_DATA.tiles.width = ${assertTileWidth}`, () => { + for (let i = idx2; i > idx2 - rasterTileDataLen; i--) { + expect(assertTileWidth).toContain(RasterTileMsgTemp[i].tiles[0].width); + } }); - test(`3rd RASTER_TILE_DATA.tiles.width = ${assertItem.tileDataGroup[index].width}`, () => { - expect(RasterTileDataTemp[idx3].tiles[0].width).toEqual(assertItem.tileDataGroup[index].width); + test(`3rd RASTER_TILE_DATA.tiles.width = ${assertTileWidth}`, () => { + for (let i = idx3; i > idx3 - rasterTileDataLen; i--) { + expect(assertTileWidth).toContain(RasterTileMsgTemp[i].tiles[0].width); + } }); // Check tiles height - test(`1st RASTER_TILE_DATA.tiles.height = ${assertItem.tileDataGroup[index].height}`, () => { - expect(RasterTileDataTemp[idx1].tiles[0].height).toEqual( - assertItem.tileDataGroup[index].height - ); + test(`1st RASTER_TILE_DATA.tiles.height = ${assertTileHeight}`, () => { + for (let i = idx1; i > idx1 - rasterTileDataLen; i--) { + expect(RasterTileMsgTemp[i].tiles[0].height).toEqual(assertTileHeight); + } }); - test(`2nd RASTER_TILE_DATA.tiles.height = ${assertItem.tileDataGroup[index].height}`, () => { - expect(RasterTileDataTemp[idx2].tiles[0].height).toEqual( - assertItem.tileDataGroup[index].height - ); + test(`2nd RASTER_TILE_DATA.tiles.height = ${assertTileHeight}`, () => { + for (let i = idx2; i > idx2 - rasterTileDataLen; i--) { + expect(RasterTileMsgTemp[i].tiles[0].height).toEqual(assertTileHeight); + } }); test(`3rd RASTER_TILE_DATA.tiles.height = ${assertItem.tileDataGroup[index].height}`, () => { - expect(RasterTileDataTemp[idx3].tiles[0].height).toEqual( - assertItem.tileDataGroup[index].height - ); + for (let i = idx3; i > idx3 - rasterTileDataLen; i--) { + expect(RasterTileMsgTemp[i].tiles[0].height).toEqual(assertTileHeight); + } }); }); describe(`2) Set image channel map for the file "${assertItem.fileOpenGroup[index].file}"`, () => { - let RasterTileDataTemp: any; + let RasterTileMsgTemp: any; const rasterTileDataLen = assertItem.setImageChannelGroup2[index].requiredTiles.tiles.length; const resterTileMsgLen = rasterTileDataLen + 2; @@ -515,52 +528,60 @@ describe('CHANNEL_MAP: Test loading multiple images and generating their channel const maxChan = assertItem.setImageChannelGroup2[index].channelRange.max; const minChan = assertItem.setImageChannelGroup2[index].channelRange.min; const channels = maxChan - minChan + 1; - RasterTileDataTemp = await ChannelMapStream(rasterTileDataLen, channels); + RasterTileMsgTemp = await ChannelMapStream(rasterTileDataLen, channels); }, readFileTimeout ); // Check channels test(`New RASTER_TILE_DATA.channel = ${assertItem.setImageChannelGroup2[index].channel}`, () => { - expect(RasterTileDataTemp[1].channel).toEqual(assertItem.setImageChannelGroup2[index].channel); + expect(RasterTileMsgTemp[1].channel).toEqual(assertItem.setImageChannelGroup2[index].channel); }); // Check stokes test(`New RASTER_TILE_DATA.stokes = ${assertItem.setImageChannelGroup2[index].stokes}`, () => { - expect(RasterTileDataTemp[1].stokes).toEqual(assertItem.setImageChannelGroup2[index].stokes); + expect(RasterTileMsgTemp[1].stokes).toEqual(assertItem.setImageChannelGroup2[index].stokes); }); // Check tiles - const idx = rasterTileDataLen + 2 - 1 - 1; + const idx = resterTileMsgLen - 1 - 1; // Check tiles length test(`New RASTER_TILE_DATA.tiles.length = 1`, () => { - expect(RasterTileDataTemp[idx].tiles.length).toEqual(1); + expect(RasterTileMsgTemp[idx].tiles.length).toEqual(1); }); // Check tiles layer test(`New RASTER_TILE_DATA.tiles.layer = ${assertItem.tileDataGroup[index].layer}`, () => { - expect(RasterTileDataTemp[idx].tiles[0].layer).toEqual(assertItem.tileDataGroup[index].layer); + expect(RasterTileMsgTemp[idx].tiles[0].layer).toEqual(assertItem.tileDataGroup[index].layer); }); // Check tiles x - test(`New RASTER_TILE_DATA.tiles.x = ${assertItem.tileDataGroup[index].x}`, () => { - expect(RasterTileDataTemp[idx].tiles[0].x).toEqual(assertItem.tileDataGroup[index].x); + test(`New RASTER_TILE_DATA.tiles.x = ${assertTileXY}`, () => { + for (let i = idx; i > idx - rasterTileDataLen; i--) { + expect(assertTileXY).toContain(RasterTileMsgTemp[i].tiles[0].x); + } }); // Check tiles y - test(`New RASTER_TILE_DATA.tiles.y = ${assertItem.tileDataGroup[index].y}`, () => { - expect([assertItem.tileDataGroup[index].y, 1, 2]).toContain(RasterTileDataTemp[idx].tiles[0].y); + test(`New RASTER_TILE_DATA.tiles.y = ${assertTileXY}`, () => { + for (let i = idx; i > idx - rasterTileDataLen; i--) { + expect(assertTileXY).toContain(RasterTileMsgTemp[i].tiles[0].y); + } }); // Check tiles width - test(`New RASTER_TILE_DATA.tiles.width = ${assertItem.tileDataGroup[index].width}`, () => { - expect(RasterTileDataTemp[idx].tiles[0].width).toEqual(assertItem.tileDataGroup[index].width); + test(`New RASTER_TILE_DATA.tiles.width = ${assertTileWidth}`, () => { + for (let i = idx; i > idx - rasterTileDataLen; i--) { + expect(assertTileWidth).toContain(RasterTileMsgTemp[i].tiles[0].width); + } }); // Check tiles height - test(`New RASTER_TILE_DATA.tiles.height = ${assertItem.tileDataGroup[index].height}`, () => { - expect(RasterTileDataTemp[idx].tiles[0].height).toEqual(assertItem.tileDataGroup[index].height); + test(`New RASTER_TILE_DATA.tiles.height = ${assertTileHeight}`, () => { + for (let i = idx; i > idx - rasterTileDataLen; i--) { + expect(RasterTileMsgTemp[i].tiles[0].height).toEqual(assertTileHeight); + } }); }); }); diff --git a/src/test/MyClient.ts b/src/test/MyClient.ts index 9dbb4bc..a295366 100644 --- a/src/test/MyClient.ts +++ b/src/test/MyClient.ts @@ -161,7 +161,7 @@ function ChannelMapStream(rasterTileDataLen: number, channels: number) { const rasterTileMsgLen = (rasterTileDataLen + 2) * channels; // # of RasterTileData + 2 RasterTileSync per channel let count = 0; let rasterTileMsgs: any[] = []; - let rasterTileSyncStream = msgController.rasterSyncStream.pipe(take(2 * channels)); + let rasterTileSyncStream = msgController.rasterSyncStream.pipe(take(2 * channels)); // 2 RasterTileSync per channel rasterTileSyncStream.subscribe((data) => { count++; rasterTileMsgs.push(data);