@Test
    public void shouldParseBigIntegerAsDecimalWithZeroScale() {
        BigInteger value = BigInteger.valueOf(Long.MAX_VALUE).add(new BigInteger("1"));
        SchemaAndValue schemaAndValue = Values.parseString(
            String.valueOf(value)
        );
        assertEquals(Decimal.schema(0), schemaAndValue.schema());
        assertInstanceOf(BigDecimal.class, schemaAndValue.value());
        assertEquals(value, ((BigDecimal) schemaAndValue.value()).unscaledValue());
        value = BigInteger.valueOf(Long.MIN_VALUE).subtract(new BigInteger("1"));
        schemaAndValue = Values.parseString(
            String.valueOf(value)
        );
        assertEquals(Decimal.schema(0), schemaAndValue.schema());
        assertInstanceOf(BigDecimal.class, schemaAndValue.value());
        assertEquals(value, ((BigDecimal) schemaAndValue.value()).unscaledValue());
    }
Test parsing distinct number-like types (strings containing numbers, and logical Decimals) in the same list
The parser does not convert Numbers to Decimals, or Strings containing numbers to Numbers automatically.
connect/api/src/test/java/org/apache/kafka/connect/data/ValuesTest.java