@@ -44,6 +44,9 @@ class SarifReportTest {
4444 )
4545 Mockito .`when `(mockUtExecutionAIOBE.stateBefore.parameters).thenReturn(listOf ())
4646
47+ defaultMockCoverage(mockUtExecutionNPE)
48+ defaultMockCoverage(mockUtExecutionAIOBE)
49+
4750 val testSets = listOf (
4851 UtMethodTestSet (mockExecutableId, listOf (mockUtExecutionNPE)),
4952 UtMethodTestSet (mockExecutableId, listOf (mockUtExecutionAIOBE))
@@ -68,12 +71,13 @@ class SarifReportTest {
6871 )
6972 Mockito .`when `(mockUtExecution.stateBefore.parameters).thenReturn(listOf ())
7073 Mockito .`when `(mockUtExecution.coverage?.coveredInstructions?.lastOrNull()?.lineNumber).thenReturn(1337 )
74+ Mockito .`when `(mockUtExecution.coverage?.coveredInstructions?.lastOrNull()?.className).thenReturn(" Main" )
7175 Mockito .`when `(mockUtExecution.testMethodName).thenReturn(" testMain_ThrowArithmeticException" )
7276
7377 val report = sarifReportMain.createReport()
7478
7579 val result = report.runs.first().results.first()
76- val location = result.locations.first().physicalLocation
80+ val location = result.locations.filterIsInstance< SarifPhysicalLocationWrapper >(). first().physicalLocation
7781 val relatedLocation = result.relatedLocations.first().physicalLocation
7882
7983 assert (location.artifactLocation.uri.contains(" Main.java" ))
@@ -98,6 +102,8 @@ class SarifReportTest {
98102 )
99103 )
100104
105+ defaultMockCoverage(mockUtExecution)
106+
101107 val report = sarifReportMain.createReport()
102108
103109 val result = report.runs.first().results.first()
@@ -121,6 +127,8 @@ class SarifReportTest {
121127 )
122128 Mockito .`when `(mockUtExecution.stateBefore.parameters).thenReturn(listOf ())
123129
130+ defaultMockCoverage(mockUtExecution)
131+
124132 val report = sarifReportMain.createReport()
125133
126134 val result = report.runs.first().results.first().codeFlows.first().threadFlows.first().locations.map {
@@ -140,6 +148,8 @@ class SarifReportTest {
140148 Mockito .`when `(uncheckedException.stackTrace).thenReturn(arrayOf())
141149 Mockito .`when `(mockUtExecution.result).thenReturn(UtSandboxFailure (uncheckedException))
142150
151+ defaultMockCoverage(mockUtExecution)
152+
143153 val report = sarifReportMain.createReport()
144154 val result = report.runs.first().results.first()
145155 assert (result.message.text.contains(" AccessControlException" ))
@@ -159,6 +169,8 @@ class SarifReportTest {
159169 Mockito .`when `(mockUtExecution.stateBefore.parameters).thenReturn(listOf ())
160170 Mockito .`when `(mockUtExecution.testMethodName).thenReturn(" testMain_ThrowArithmeticException" )
161171
172+ defaultMockCoverage(mockUtExecution)
173+
162174 val report = sarifReportMain.createReport()
163175
164176 val codeFlowPhysicalLocations = report.runs[0 ].results[0 ].codeFlows[0 ].threadFlows[0 ].locations.map {
@@ -183,6 +195,8 @@ class SarifReportTest {
183195 Mockito .`when `(mockUtExecution.stateBefore.parameters).thenReturn(listOf ())
184196 Mockito .`when `(mockUtExecution.testMethodName).thenReturn(" testMain_ThrowArithmeticException" )
185197
198+ defaultMockCoverage(mockUtExecution)
199+
186200 val report = sarifReportPrivateMain.createReport()
187201
188202 val codeFlowPhysicalLocations = report.runs[0 ].results[0 ].codeFlows[0 ].threadFlows[0 ].locations.map {
@@ -200,6 +214,8 @@ class SarifReportTest {
200214 val mockUtExecution = Mockito .mock(UtExecution ::class .java, Mockito .RETURNS_DEEP_STUBS )
201215 Mockito .`when `(mockUtExecution.result).thenReturn(UtImplicitlyThrownException (NullPointerException (), false ))
202216
217+ defaultMockCoverage(mockUtExecution)
218+
203219 val testSets = listOf (
204220 UtMethodTestSet (mockExecutableId, listOf (mockUtExecution)),
205221 UtMethodTestSet (mockExecutableId, listOf (mockUtExecution)) // duplicate
@@ -225,6 +241,9 @@ class SarifReportTest {
225241 Mockito .`when `(mockUtExecution1.result).thenReturn(UtImplicitlyThrownException (NullPointerException (), false ))
226242 Mockito .`when `(mockUtExecution2.result).thenReturn(UtImplicitlyThrownException (ArithmeticException (), false ))
227243
244+ defaultMockCoverage(mockUtExecution1)
245+ defaultMockCoverage(mockUtExecution2)
246+
228247 val testSets = listOf (
229248 UtMethodTestSet (mockExecutableId, listOf (mockUtExecution1)),
230249 UtMethodTestSet (mockExecutableId, listOf (mockUtExecution2)) // not a duplicate
@@ -252,7 +271,9 @@ class SarifReportTest {
252271
253272 // different locations
254273 Mockito .`when `(mockUtExecution1.coverage?.coveredInstructions?.lastOrNull()?.lineNumber).thenReturn(11 )
274+ Mockito .`when `(mockUtExecution1.coverage?.coveredInstructions?.lastOrNull()?.className).thenReturn(" Main" )
255275 Mockito .`when `(mockUtExecution2.coverage?.coveredInstructions?.lastOrNull()?.lineNumber).thenReturn(22 )
276+ Mockito .`when `(mockUtExecution2.coverage?.coveredInstructions?.lastOrNull()?.className).thenReturn(" Main" )
256277
257278 val testSets = listOf (
258279 UtMethodTestSet (mockExecutableId, listOf (mockUtExecution1)),
@@ -288,6 +309,9 @@ class SarifReportTest {
288309 Mockito .`when `(mockNPE1.stackTrace).thenReturn(arrayOf(stackTraceElement1))
289310 Mockito .`when `(mockNPE2.stackTrace).thenReturn(arrayOf(stackTraceElement1, stackTraceElement2))
290311
312+ defaultMockCoverage(mockUtExecution1)
313+ defaultMockCoverage(mockUtExecution2)
314+
291315 val testSets = listOf (
292316 UtMethodTestSet (mockExecutableId, listOf (mockUtExecution1)),
293317 UtMethodTestSet (mockExecutableId, listOf (mockUtExecution2)) // duplicate with a longer stack trace
@@ -316,6 +340,11 @@ class SarifReportTest {
316340 Mockito .`when `(mockExecutableId.classId.name).thenReturn(" Main" )
317341 }
318342
343+ private fun defaultMockCoverage (mockExecution : UtExecution ) {
344+ Mockito .`when `(mockExecution.coverage?.coveredInstructions?.lastOrNull()?.lineNumber).thenReturn(1 )
345+ Mockito .`when `(mockExecution.coverage?.coveredInstructions?.lastOrNull()?.className).thenReturn(" Main" )
346+ }
347+
319348 // constants
320349
321350 private val sourceFindingEmpty = SourceFindingStrategyDefault (
0 commit comments