Open
Description
Description
There is used Enum variable duplication in the test generated by Symbolic engine.
To Reproduce
- Run the 'utbot' project in IntelliJ Idea 2022.3 Ultimate
- Install plugin built from unit-test-bot/rc2023.3 branch
- Use plugin to generate tests for
enums/ClassWithEnum
- Open the generated test
Expected behavior
No unneeded variables are expected to be created.
Actual behavior
There is unneeded variable finalStatusEnum
create after assertion.
It contains the same value as statusEnum used in the test.
Visual proofs (screenshots, logs, images)
///region SYMBOLIC EXECUTION: SUCCESSFUL EXECUTIONS for method changeMutableField(enums.ClassWithEnum.StatusEnum)
/**
* @utbot.classUnderTest {@link ClassWithEnum}
* @utbot.methodUnderTest {@link ClassWithEnum#changeMutableField(StatusEnum)}
* @utbot.executesCondition {@code (statusEnum == StatusEnum.READY): True}
* @utbot.returnsFrom {@code return StatusEnum.READY.mutableInt;}
*/
@Test
public void testChangeMutableField_StatusEnumEqualsStatusEnumREADY() {
ClassWithEnum classWithEnum = new ClassWithEnum();
StatusEnum statusEnum = StatusEnum.READY;
int actual = classWithEnum.changeMutableField(statusEnum);
assertEquals(2, actual);
StatusEnum finalStatusEnum = statusEnum;
}
Environment
Windows 10 Pro
IntelliJ IDEA 2022.3.3 Ultimate
IntelliJ project, JDK 17
Additional context
There were workarounds for Enums already made, but it happens to be the issue in the engine.
Metadata
Metadata
Assignees
Type
Projects
Status
Todo