Skip to content

Commit 0637537

Browse files
committed
Add tests
1 parent a812193 commit 0637537

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

core/src/test/kotlin/org/evomaster/core/search/FitnessValueTest.kt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import org.evomaster.client.java.controller.api.dto.BootTimeInfoDto
55
import org.evomaster.client.java.controller.api.dto.TargetInfoDto
66
import org.evomaster.client.java.instrumentation.shared.ObjectiveNaming
77
import org.evomaster.core.search.service.IdMapper
8+
import org.evomaster.core.sql.DatabaseExecution
9+
import org.evomaster.core.sql.SqlExecutionInfo
810
import org.junit.jupiter.api.Assertions.*
911
import org.junit.jupiter.api.Test
1012

@@ -123,4 +125,37 @@ class FitnessValueTest {
123125
assertEquals(3, linesInfo.searchTime)
124126
}
125127

128+
@Test
129+
fun testAggregatedFailedWhereQueriesExcludesBlankEntries() {
130+
val fv = FitnessValue(1.0)
131+
132+
val execution = DatabaseExecution(
133+
queriedData = emptyMap(),
134+
updatedData = emptyMap(),
135+
insertedData = emptyMap(),
136+
failedWhere = emptyMap(),
137+
deletedData = emptyList(),
138+
numberOfSqlCommands = 3,
139+
sqlParseFailureCount = 0,
140+
executionInfo = listOf(
141+
SqlExecutionInfo("SELECT * FROM foo WHERE id = 1", false, 10L),
142+
SqlExecutionInfo("", false, 5L),
143+
SqlExecutionInfo(" ", false, 5L),
144+
SqlExecutionInfo("SELECT * FROM bar WHERE name = 'x'", false, 8L)
145+
)
146+
)
147+
fv.setDatabaseExecution(0, execution)
148+
fv.aggregateDatabaseData()
149+
150+
val allQueries = fv.getViewOfAggregatedFailedWhereQueries()
151+
assertEquals(4, allQueries.size)
152+
153+
// Simulate the filter applied in ApiWsStructureMutator before sending queries to the solver
154+
val nonBlankQueries = allQueries.filter { it.isNotBlank() }
155+
assertEquals(2, nonBlankQueries.size)
156+
assertTrue(nonBlankQueries.none { it.isBlank() })
157+
assertTrue(nonBlankQueries.contains("SELECT * FROM foo WHERE id = 1"))
158+
assertTrue(nonBlankQueries.contains("SELECT * FROM bar WHERE name = 'x'"))
159+
}
160+
126161
}

0 commit comments

Comments
 (0)