@Test
public void testGetBusinessObjectDataStatus()
{

    // Create a business object data key.
    BusinessObjectDataKey businessObjectDataKey =
        new BusinessObjectDataKey(NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, PARTITION_VALUE, SUBPARTITION_VALUES,
            DATA_VERSION);
    // Create a delimited list of sub-partition values.
    String delimitedSubPartitionValues = String.join("|", SUBPARTITION_VALUES);
    // Create a business object data status information.
    BusinessObjectDataStatusInformation businessObjectDataStatusInformation = new BusinessObjectDataStatusInformation(businessObjectDataKey, BDATA_STATUS);
    // Mock the external calls.
    when(herdStringHelper.splitStringWithDefaultDelimiterEscaped(delimitedSubPartitionValues)).thenReturn(SUBPARTITION_VALUES);
    when(businessObjectDataStatusService.getBusinessObjectDataStatus(businessObjectDataKey, PARTITION_KEY)).thenReturn(businessObjectDataStatusInformation);
    // Call the method under test.
    BusinessObjectDataStatusInformation result = businessObjectDataStatusRestController
        .getBusinessObjectDataStatus(NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, PARTITION_KEY, PARTITION_VALUE,
            delimitedSubPartitionValues, FORMAT_VERSION, DATA_VERSION);
    // Verify the external calls.
    verify(herdStringHelper).splitStringWithDefaultDelimiterEscaped(delimitedSubPartitionValues);
    verify(businessObjectDataStatusService).getBusinessObjectDataStatus(businessObjectDataKey, PARTITION_KEY);
    verifyNoMoreInteractionsHelper();
    // Validate the results.
    assertEquals(businessObjectDataStatusInformation, result);
}