private IcebergUUIDObjectInspector() {
    super(TypeInfoFactory.stringTypeInfo);
  }
@Test
  public void testIcebergUUIDObjectInspector() {
    IcebergUUIDObjectInspector oi = IcebergUUIDObjectInspector.get();

    assertThat(oi.getCategory()).isEqualTo(ObjectInspector.Category.PRIMITIVE);
    assertThat(oi.getPrimitiveCategory())
        .isEqualTo(PrimitiveObjectInspector.PrimitiveCategory.STRING);

    assertThat(oi.getTypeInfo()).isEqualTo(TypeInfoFactory.stringTypeInfo);
    assertThat(oi.getTypeName()).isEqualTo(TypeInfoFactory.stringTypeInfo.getTypeName());

    assertThat(oi.getJavaPrimitiveClass()).isEqualTo(String.class);
    assertThat(oi.getPrimitiveWritableClass()).isEqualTo(Text.class);

    assertThat(oi.copyObject(null)).isNull();
    assertThat(oi.getPrimitiveJavaObject(null)).isNull();
    assertThat(oi.getPrimitiveWritableObject(null)).isNull();
    assertThat(oi.convert(null)).isNull();

    UUID uuid = UUID.randomUUID();
    String uuidStr = uuid.toString();
    Text text = new Text(uuidStr);

    assertThat(oi.getPrimitiveJavaObject(text)).isEqualTo(uuidStr);
    assertThat(oi.getPrimitiveWritableObject(uuidStr)).isEqualTo(text);
    assertThat(oi.convert(uuidStr)).isEqualTo(uuid);

    Text copy = (Text) oi.copyObject(text);

    assertThat(copy).isEqualTo(text);
    assertThat(copy).isNotSameAs(text);

    assertThat(oi.preferWritable()).isFalse();
  }