### Question:
BackLoadObjectProcessor extends JobProcessor { @Override public boolean process( JobDefinition od, String clusterID, String workerID ) { log.info( "Back Load Process called with: {}", od ); errorBuffer.setLength( 0 ); try { BusinessObjectFormat dmFormat = dataMgmtSvc.getDMFormat( od ); JobSubmitterInfo jsi = JobSubmitterInfo.builder() .herdNotificationId( od.getId() ) .partitionKey( dmFormat.getPartitionKey() ) .namespace( od.getObjectDefinition().getNameSpace() ) .objectName( od.getObjectDefinition().getObjectName() ) .usage( od.getObjectDefinition().getUsageCode() ) .fileType( od.getObjectDefinition().getFileType() ) .workflowType( ObjectProcessor.WF_TYPE_MANAGED ) .tableSchema( dmFormat.getSchema() ) .correlation( od.getCorrelation() ) .build(); identifyPartitionsAndBackLoad( od, jsi ); } catch ( Exception e ) { log.error( "Problem encountered in Back loading processor: {}", e.getMessage(), e ); errorBuffer.append( e.getMessage() ); return false; } log.info( "Back loading jobs submitted successfully" ); return true; }  @Override boolean process( JobDefinition od, String clusterID, String workerID ); boolean isBiggerThanChunkSize( int collectionSize ); String delimitedPartitionValues( Set<String> partitions );  }### Answer:
@Test public void testProcessForSmallerDataSet() throws ApiException { BusinessObjectDataSearchResult businessObjectDataSearchResult = new BusinessObjectDataSearchResult(); businessObjectDataSearchResult.setBusinessObjectDataElements( buildBOStatues() ); when( dataMgmtSvc.searchBOData( any(), anyInt(), anyInt(), anyBoolean() ) ).thenReturn( businessObjectDataSearchResult ); emptyResult(); Assert.assertTrue( backLoadObjectProcessor.process( jobDefinition, "", "" ) ); }
@Test public void testProcessForSubpartitions() throws ApiException { BusinessObjectDataSearchResult businessObjectDataSearchResult = new BusinessObjectDataSearchResult(); businessObjectDataSearchResult.setBusinessObjectDataElements( buildBOStatues() ); when( dataMgmtSvc.searchBOData( any(), anyInt(), anyInt(), anyBoolean() ) ).thenReturn( businessObjectDataSearchResult ); emptyResult(); Assert.assertTrue( backLoadObjectProcessor.process( jobDefinition, "", "" ) ); }
@Test public void testCreateProcessBiggerDataSet() throws ApiException { BusinessObjectDataSearchResult businessObjectDataSearchResult = new BusinessObjectDataSearchResult(); businessObjectDataSearchResult.setBusinessObjectDataElements( businessObjectDataBiggerDataSet() ); when( dataMgmtSvc.searchBOData( any(), anyInt(), anyInt(), anyBoolean() ) ).thenReturn( businessObjectDataSearchResult ); emptyResult(); Assert.assertTrue( backLoadObjectProcessor.process( jobDefinition, "", "" ) ); }
@Test public void testCreateProcessBiggerDataSetNonDates() throws ApiException { BusinessObjectDataSearchResult businessObjectDataSearchResult = new BusinessObjectDataSearchResult(); businessObjectDataSearchResult.setBusinessObjectDataElements( buildBOBiggerDatSetNonDate() ); when( dataMgmtSvc.searchBOData( any(), anyInt(), anyInt(), anyBoolean() ) ).thenReturn( businessObjectDataSearchResult ); emptyResult(); Assert.assertTrue( backLoadObjectProcessor.process( jobDefinition, "", "" ) ); }