package rocks.inspectit.agent.java.sending.impl; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import java.util.HashMap; import java.util.List; import java.util.Map; import org.mockito.InjectMocks; import org.mockito.Mock; import org.testng.annotations.Test; import rocks.inspectit.agent.java.core.ICoreService; import rocks.inspectit.shared.all.communication.DefaultData; import rocks.inspectit.shared.all.testbase.TestBase; @SuppressWarnings("PMD") public class ListSizeStrategyTest extends TestBase { @Mock private ICoreService coreService; @InjectMocks private ListSizeStrategy sendingStrategy; @Test public void startStop() { sendingStrategy.start(coreService); verify(coreService).addListListener(sendingStrategy); sendingStrategy.stop(); verify(coreService).removeListListener(sendingStrategy); verifyNoMoreInteractions(coreService); } @SuppressWarnings("unchecked") @Test public void contentChanged() { sendingStrategy.start(coreService); List<List<DefaultData>> list = mock(List.class); sendingStrategy.contentChanged(list.size()); verify(list).size(); verifyNoMoreInteractions(list); } @SuppressWarnings("unchecked") @Test public void fireSending() { sendingStrategy.start(coreService); List<List<DefaultData>> list = mock(List.class); when(list.size()).thenReturn(11); sendingStrategy.contentChanged(list.size()); verify(coreService).sendData(); } @SuppressWarnings("unchecked") @Test public void fireSendingModifiedListSize() { Map<String, String> settings = new HashMap<String, String>(); settings.put("size", "3"); sendingStrategy.init(settings); sendingStrategy.start(coreService); List<List<DefaultData>> list = mock(List.class); when(list.size()).thenReturn(5); sendingStrategy.contentChanged(list.size()); verify(coreService).sendData(); } }