/**
   * Valid conversion cases for COMPOUND to: STRING
   *
   * @param valueToConvert The value that will be converted
   * @param typeToConvertTo The type to convert to
   * @param convertedValue The expected value after converting the type
   */
  @Test(dataProvider = "validConversionData")
  public void testValidConversion(
      String valueToConvert, AttributeType typeToConvertTo, Object convertedValue) {
    testTypeConversion(valueToConvert, typeToConvertTo);

    // Assert if conversion was successful
    assertEquals(getActualDataType(), typeToConvertTo);
    assertEquals(getActualValue(), convertedValue);
  }
 /**
  * Invalid conversion cases for COMPOUND to: BOOL, TEXT, INT, LONG, DECIMAL, XREF, CATEGORICAL,
  * EMAIL, HYPERLINK, HTML, ENUM, DATE, DATE_TIME, MREF, CATEGORICAL_MREF, FILE, ONE_TO_MANY
  *
  * @param valueToConvert The value that will be converted
  * @param typeToConvertTo The type to convert to
  * @param exceptionClass The expected class of the exception that will be thrown
  * @param exceptionMessage The expected exception message
  */
 @Test(dataProvider = "invalidConversionTestCases")
 public void testInvalidConversion(
     String valueToConvert,
     AttributeType typeToConvertTo,
     Class exceptionClass,
     String exceptionMessage) {
   try {
     testTypeConversion(valueToConvert, typeToConvertTo);
     fail("Conversion should have failed");
   } catch (Exception exception) {
     assertTrue(exception.getClass().isAssignableFrom(exceptionClass));
     assertEquals(exception.getMessage(), exceptionMessage);
   }
 }