@SuppressWarnings("unchecked")
public void copyDataToStorage() throws IOException, SerializationException, BusinessException {
storageData = new StorageData();
storageData.setName("Test");
List<DefaultData> data = Collections.singletonList(mock(DefaultData.class));
List<DefaultData> traceData = Collections.singletonList(mock(DefaultData.class));
Collection<AbstractDataProcessor> processors = Collections.singleton(mock(AbstractDataProcessor.class));
storageManager = spy(storageManager);
long platformIdent = 10L;
Collection<Long> elementIds = mock(Collection.class);
Set<Long> traceIds = mock(Set.class);
when(storageDataDao.getDataFromIdList(elementIds, platformIdent)).thenReturn(data);
when(storageDataDao.getDataForTraceIdList(traceIds)).thenReturn(traceData);
storageManager.copyDataToStorage(storageData, elementIds, platformIdent, traceIds, processors, false);
verify(storageDataDao, times(1)).getDataFromIdList(elementIds, platformIdent);
verify(storageManager, times(1)).writeToStorage(storageData, data, processors, true);
verify(storageDataDao, times(1)).getDataForTraceIdList(traceIds);
verify(storageManager, times(1)).writeToStorage(storageData, traceData, processors, true);
storageManager.copyDataToStorage(storageData, elementIds, platformIdent, traceIds, processors, false);
verify(storageDataDao, times(2)).getDataFromIdList(elementIds, platformIdent);
verify(storageManager, times(2)).writeToStorage(storageData, data, processors, true);
verify(storageDataDao, times(2)).getDataForTraceIdList(traceIds);
verify(storageManager, times(2)).writeToStorage(storageData, traceData, processors, true);
assertThat(storageManager.isStorageClosed(storageData), is(true));
}