Skip to content

The generated name of the test method is too long #435

Open
@amandelpie

Description

@amandelpie

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)

Metadata

Metadata

Assignees

Labels

comp-summariesSomething related to the method names, code comments and display names generationctg-enhancementNew feature, improvement or change request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions