Open
Description
Description
For the method "com.alibaba.fastjson.parser.ParserConfig#isPrimitive2" we generate an odd name
To Reproduce
TODO: Need to feel this
Expected behavior
I think it's totally correct (you can literally write implementation of the function using its name), but it seems too much – too long and does not have information about unique condition (which one of the disjunct was satisfied)
Actual behavior
/**
* <pre>
* Test returns from: {@code return clazz.isPrimitive() || clazz == Boolean.class || clazz == Character.class || clazz == Byte.class || clazz == Short.class || clazz == Integer.class || clazz == Long.class || clazz == Float.class || clazz == Double.class || clazz == BigInteger.class || clazz == BigDecimal.class || clazz == String.class || clazz == java.util.Date.class || clazz == java.sql.Date.class || clazz == java.sql.Time.class || clazz == java.sql.Timestamp.class || clazz.isEnum(); }
*
* throws TimeoutException in: return clazz.isPrimitive() || clazz == Boolean.class || clazz == Character.class || clazz == Byte.class || clazz == Short.class || clazz == Integer.class || clazz == Long.class || clazz == Float.class || clazz == Double.class || clazz == BigInteger.class || clazz == BigDecimal.class || clazz == String.class || clazz == java.util.Date.class || clazz == java.sql.Date.class || clazz == java.sql.Time.class || clazz == java.sql.Timestamp.class || clazz.isEnum();
* </pre>
*/
@Test
@DisplayName("isPrimitive2: return clazz.isPrimitive() || clazz == Boolean.class || clazz == Character.class || clazz == Byte.class || clazz == Short.class || clazz == Integer.class || clazz == Long.class || clazz == Float.class || clazz == Double.class || clazz == BigInteger.class || clazz == BigDecimal.class || clazz == String.class || clazz == java.util.Date.class || clazz == java.sql.Date.class || clazz == java.sql.Time.class || clazz == java.sql.Timestamp.class || clazz.isEnum() -> ThrowTimeoutException")
@Timeout(value = 100L, unit = TimeUnit.MILLISECONDS)
public void testIsPrimitive2_ClazzIsPrimitiveOrClazzNotEqualsBooleanClassOrClazzNotEqualsCharacterClassOrClazzNotEqualsByteClassOrClazzNotEqualsShortClassOrClazzNotEqualsIntegerClassOrClazzNotEqualsLongClassOrClazzNotEqualsFloatClassOrClazzNotEqualsDoubleClassOrClazzNotEqualsBigIntegerClassOrClazzNotEqualsBigDecimalClassOrClazzNotEqualsStringClassOrClazzNotEqualsJavautilDateClassOrClazzNotEqualsJavasqlDateClassOrClazzNotEqualsJavasqlTimeClassOrClazzNotEqualsJavasqlTimestampClassOrClazzIsEnum() throws Throwable {
Class class1 = Object.class;
/* This execution may take longer than the 100 ms timeout
and therefore fail due to exceeding the timeout. */
ParserConfig.isPrimitive2(class1);
}
Additional context
We need to reproduce this bug on the copied snippet of code to the our codebase (see utbot-sample)