@@ -456,4 +456,50 @@ void collect_reusableData_reusedObjectsAreReturnedOnSecondCall() {
456456 .anySatisfy (point -> assertThat (point ).isSameAs (firstCollectionPoint ));
457457 }
458458 }
459+
460+ @ ParameterizedTest
461+ @ EnumSource (MemoryMode .class )
462+ void enabledThenDisable_isEmpty (MemoryMode memoryMode ) {
463+ setup (memoryMode );
464+
465+ longCounterStorage .setEnabled (false );
466+
467+ assertThat (longCounterStorage .isEmpty ()).isTrue ();
468+ }
469+
470+ @ ParameterizedTest
471+ @ EnumSource (MemoryMode .class )
472+ void enabledThenDisableThenEnable_isEmpty (MemoryMode memoryMode ) {
473+ setup (memoryMode );
474+
475+ longCounterStorage .setEnabled (false );
476+ longCounterStorage .setEnabled (true );
477+
478+ assertThat (longCounterStorage .isEmpty ()).isFalse ();
479+ }
480+
481+ @ ParameterizedTest
482+ @ EnumSource (MemoryMode .class )
483+ void enabledThenDisable_recordAndCollect (MemoryMode memoryMode ) {
484+ setup (memoryMode );
485+
486+ longCounterStorage .setEnabled (false );
487+
488+ longCounterStorage .record (Attributes .empty (), 10 );
489+
490+ assertThat (longCounterStorage .collect (resource , scope , 0 , 0 ).isEmpty ()).isTrue ();
491+ }
492+
493+ @ ParameterizedTest
494+ @ EnumSource (MemoryMode .class )
495+ void enabledThenDisableThenEnable_recordAndCollect (MemoryMode memoryMode ) {
496+ setup (memoryMode );
497+
498+ longCounterStorage .setEnabled (false );
499+ longCounterStorage .setEnabled (true );
500+
501+ longCounterStorage .record (Attributes .empty (), 10 );
502+
503+ assertThat (longCounterStorage .collect (resource , scope , 0 , 0 ).isEmpty ()).isFalse ();
504+ }
459505}
0 commit comments