Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Compare returning expected and actual Stream #1046

Open
Labels
comp-codegenIssue is related to code generator ctg-bugIssue is a bug lang-javaIssue is related to Java support
@alisevych

Description

Description

Tests on methods returning Stream contain actual and expected results, but do not have any assertions to compare them.

To Reproduce

  1. Run the 'UTBotJava' project in IntelliJ Idea 2022年1月4日
  2. Install one of the latest from main branch
  3. Open test generation dialog for utbot-sample/src/main/java/org/utbot/examples/stream/BaseStreamExample.java
  4. Select returningStreamExample method
  5. click Generate Tests
  6. check generated tests

Expected behavior

Need to compare expected and actual results for Streams in tests.

Actual behavior

There are actual and expected Objects generated containing Streams. But they are not compared.

Visual proofs (screenshots, logs, images)

package org.utbot.examples.stream;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.DisplayName;
import java.util.ArrayList;
import java.util.List;
import static org.utbot.runtime.utils.UtUtils.createInstance;
public class BaseStreamExampleTest {
 ///region Test suites for executable org.utbot.examples.stream.BaseStreamExample.returningStreamExample
 ///region SYMBOLIC EXECUTION ENGINE: SUCCESSFUL EXECUTIONS for method returningStreamExample(java.util.List)
 /**
 * @utbot.classUnderTest {@link BaseStreamExample}
 * @utbot.methodUnderTest {@link BaseStreamExample#returningStreamExample(List)}
 * @utbot.executesCondition {@code (list.isEmpty()): True}
 * @utbot.invokes {@code {@link List#stream()}}
 * @utbot.returnsFrom {@code return list.stream();}
 */
 @Test
 @DisplayName("returningStreamExample: list.isEmpty() : True -> return list.stream()")
 public void testReturningStreamExample_ListIsEmpty() throws Exception {
 BaseStreamExample baseStreamExample = new BaseStreamExample();
 ArrayList list = new ArrayList();
 Object actual = baseStreamExample.returningStreamExample(list);
 Object expected = createInstance("java.util.stream.ReferencePipeline$Head");
 }
 /**
 * @utbot.classUnderTest {@link BaseStreamExample}
 * @utbot.methodUnderTest {@link BaseStreamExample#returningStreamExample(List)}
 * @utbot.executesCondition {@code (list.isEmpty()): False}
 * @utbot.invokes {@code {@link List#stream()}}
 * @utbot.returnsFrom {@code return list.stream();}
 */
 @Test
 @DisplayName("returningStreamExample: list.isEmpty() : False -> return list.stream()")
 public void testReturningStreamExample_NotListIsEmpty() throws Exception {
 BaseStreamExample baseStreamExample = new BaseStreamExample();
 ArrayList list = new ArrayList();
 list.add(null);
 list.add(null);
 list.add(null);
 list.add(null);
 list.add(null);
 list.add(null);
 list.add(null);
 list.add(null);
 list.add(null);
 list.add(null);
 Object actual = baseStreamExample.returningStreamExample(list);
 Object expected = createInstance("java.util.stream.ReferencePipeline$Head");
 }
 ///endregion
 ///endregion
}

Environment

Windows 10 Pro
Gradle
JDK 11

Additional context

Probably related to #1034

Same for DoubleStreamExample.returningStreamExample

Metadata

Metadata

Assignees

No one assigned

    Labels

    comp-codegenIssue is related to code generator ctg-bugIssue is a bug lang-javaIssue is related to Java support

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /