Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Fixed a bug with unresolved links to methods
  • Loading branch information
amandelpie committed Oct 25, 2022
commit 115132ac7a07585e7edd28a06fdf418be8a8509d
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
public class UnsafeWithField {
Field field;

Field setField(Field f) {
public Field setField(Field f) {
field = f;
return Field.INTEGER;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package examples.unsafe

import examples.CustomJavaDocTagsEnabler
import examples.SummaryTestCaseGeneratorTest
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
import org.utbot.examples.unsafe.UnsafeWithField
import org.utbot.framework.plugin.api.MockStrategyApi
import org.utbot.tests.infrastructure.DoNotCalculate

@ExtendWith(CustomJavaDocTagsEnabler::class)
class UnsafeWithFieldTest : SummaryTestCaseGeneratorTest(
UnsafeWithField::class
) {
@Test
fun testUnsafeWithField() {
val summary1 = "@utbot.classUnderTest {@link UnsafeWithField}\n" +
"@utbot.methodUnderTest {@link org.utbot.examples.unsafe.UnsafeWithField#setField(java.text.NumberFormat.Field)}\n" +
"@utbot.returnsFrom {@code return Field.INTEGER;}"

val methodName1 = "testSetField_ReturnFieldINTEGER"

val displayName1 = "-> return Field.INTEGER"

val summaryKeys = listOf(
summary1
)

val displayNames = listOf(
displayName1
)

val methodNames = listOf(
methodName1
)

val method = UnsafeWithField::setField
val mockStrategy = MockStrategyApi.NO_MOCKS
val coverage = DoNotCalculate

summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,14 @@ private fun formMethodReferenceForJavaDoc(
methodParametersAsString: String,
isPrivate: Boolean
): String {
val prettyClassName: String = className.replace(JAVA_CLASS_DELIMITER, JAVA_DOC_CLASS_DELIMITER)
// to avoid $ in names for static inner classes
val prettyClassName: String = className.replace("$", ".")
val validMethodParameters = methodParametersAsString.replace("$", ".")

val text = if (methodParametersAsString == EMPTY_STRING) {
val text = if (validMethodParameters == "") {
"$prettyClassName#$methodName()"
} else {
"$prettyClassName#$methodName($methodParametersAsString)"
"$prettyClassName#$methodName($validMethodParameters)"
}

return if (isPrivate) {
Expand Down