1- import { describe , test , assert , vi , beforeEach } from 'vitest' ;
1+ import { describe , test , assert , vi , beforeEach , afterEach } from 'vitest' ;
22import { MaskSegmentHelper } from '../../src/image/maskSegmentHelper.js' ;
33import { MaskSegment } from '../../src/dicom/dicomSegment.js' ;
44import { Size } from '../../src/image/size.js' ;
@@ -7,6 +7,7 @@ import {Geometry} from '../../src/image/geometry.js';
77import { Matrix33 } from '../../src/math/matrix.js' ;
88import { Image } from '../../src/image/image.js' ;
99import { Point3D } from '../../src/math/point.js' ;
10+ import * as loggerModule from '../../src/utils/logger.js' ;
1011
1112/**
1213 * Tests for the 'image/maskSegmentHelper.js' file.
@@ -155,6 +156,10 @@ describe('image', () => {
155156 helper = new MaskSegmentHelper ( makeMockMask ( ) ) ;
156157 } ) ;
157158
159+ afterEach ( ( ) => {
160+ vi . restoreAllMocks ( ) ;
161+ } ) ;
162+
158163 /**
159164 * Tests hasSegment and getSegment for present and absent segments.
160165 *
@@ -223,11 +228,18 @@ describe('image', () => {
223228 * @function module:tests/image~mask-segment-helper-add-duplicate
224229 */
225230 test ( 'MaskSegmentHelper addSegment ignores duplicate segment number' , ( ) => {
231+ const warnSpy = vi . spyOn ( loggerModule . logger , 'warn' )
232+ . mockImplementation ( ( ) => { } ) ;
233+
226234 helper . addSegment ( makeSeg ( 1 ) ) ;
227235 helper . addSegment ( makeSeg ( 1 ) ) ; // duplicate
228236 assert . equal (
229237 helper . getNumberOfSegments ( ) , 1 , 'still one segment after duplicate add'
230238 ) ;
239+
240+ assert . equal ( warnSpy . mock . calls . length , 1 , 'warning on addSegment' ) ;
241+ assert . ok ( warnSpy . mock . calls [ 0 ] [ 0 ] . includes ( '1' ) ,
242+ 'warning mentions the segment number' ) ;
231243 } ) ;
232244
233245 // -------------------------------------------------------------------------
@@ -253,9 +265,16 @@ describe('image', () => {
253265 * @function module:tests/image~mask-segment-helper-remove-unknown
254266 */
255267 test ( 'MaskSegmentHelper removeSegment is a no-op for unknown number' , ( ) => {
268+ const warnSpy = vi . spyOn ( loggerModule . logger , 'warn' )
269+ . mockImplementation ( ( ) => { } ) ;
270+
256271 helper . addSegment ( makeSeg ( 1 ) ) ;
257272 helper . removeSegment ( 99 ) ; // no-op
258273 assert . equal ( helper . getNumberOfSegments ( ) , 1 , 'count unchanged' ) ;
274+
275+ assert . equal ( warnSpy . mock . calls . length , 1 , 'warning on removeSegment' ) ;
276+ assert . ok ( warnSpy . mock . calls [ 0 ] [ 0 ] . includes ( '99' ) ,
277+ 'warning mentions the segment number' ) ;
259278 } ) ;
260279
261280 // -------------------------------------------------------------------------
@@ -281,9 +300,16 @@ describe('image', () => {
281300 * @function module:tests/image~mask-segment-helper-update-unknown
282301 */
283302 test ( 'MaskSegmentHelper updateSegment is a no-op for unknown number' , ( ) => {
303+ const warnSpy = vi . spyOn ( loggerModule . logger , 'warn' )
304+ . mockImplementation ( ( ) => { } ) ;
305+
284306 helper . addSegment ( makeSeg ( 1 ) ) ;
285307 helper . updateSegment ( makeSeg ( 99 ) ) ; // no-op
286308 assert . equal ( helper . getNumberOfSegments ( ) , 1 , 'count unchanged' ) ;
309+
310+ assert . equal ( warnSpy . mock . calls . length , 1 , 'warning on updateSegment' ) ;
311+ assert . ok ( warnSpy . mock . calls [ 0 ] [ 0 ] . includes ( '99' ) ,
312+ 'warning mentions the segment number' ) ;
287313 } ) ;
288314
289315 // -------------------------------------------------------------------------
@@ -348,6 +374,9 @@ describe('image', () => {
348374 test (
349375 'MaskSegmentHelper maskHasSegments returns false for unknown segments' ,
350376 ( ) => {
377+ const warnSpy = vi . spyOn ( loggerModule . logger , 'warn' )
378+ . mockImplementation ( ( ) => { } ) ;
379+
351380 const mask = makeMockMask ( ) ;
352381 mask . hasValues . mockReturnValue ( [ true ] ) ;
353382 const h = new MaskSegmentHelper ( mask ) ;
@@ -358,7 +387,11 @@ describe('image', () => {
358387
359388 assert . equal ( result [ 0 ] , false , 'unknown segment → false' ) ;
360389 assert . equal ( result [ 1 ] , true , 'known segment → forwarded from hasValues' ) ;
361- }
390+
391+ assert . equal ( warnSpy . mock . calls . length , 1 , 'warning on maskHasSegments' ) ;
392+ assert . ok ( warnSpy . mock . calls [ 0 ] [ 0 ] . includes ( '99' ) ,
393+ 'warning mentions the segment number' ) ;
394+ }
362395 ) ;
363396
364397 // -------------------------------------------------------------------------
0 commit comments