From f14857f66158428ba77a4bdad2c844937aef0d32 Mon Sep 17 00:00:00 2001 From: Arkadii Sapozhnikov Date: Fri, 14 Feb 2025 15:20:34 +0100 Subject: [PATCH] replace TestCaseParseResult to OperationResult --- .../testspark/core/test/TestSuiteParser.kt | 10 ++++----- .../JUnitTestSuiteParserStrategy.kt | 21 ++++++++----------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/core/src/main/kotlin/org/jetbrains/research/testspark/core/test/TestSuiteParser.kt b/core/src/main/kotlin/org/jetbrains/research/testspark/core/test/TestSuiteParser.kt index 60c4016d4..1a1755266 100644 --- a/core/src/main/kotlin/org/jetbrains/research/testspark/core/test/TestSuiteParser.kt +++ b/core/src/main/kotlin/org/jetbrains/research/testspark/core/test/TestSuiteParser.kt @@ -1,14 +1,14 @@ package org.jetbrains.research.testspark.core.test -import org.jetbrains.research.testspark.core.test.data.TestCaseGeneratedByLLM import org.jetbrains.research.testspark.core.test.data.TestSuiteGeneratedByLLM -data class TestCaseParseResult( - val testCase: TestCaseGeneratedByLLM?, - val errorMessage: String, - val errorOccurred: Boolean, +data class OperationResult( + val content: Payload? = null, + val error: ErrorDetails? = null, ) +data class ErrorDetails(val message: String) + interface TestSuiteParser { /** * Extracts test cases from raw text and generates a test suite. diff --git a/core/src/main/kotlin/org/jetbrains/research/testspark/core/test/strategies/JUnitTestSuiteParserStrategy.kt b/core/src/main/kotlin/org/jetbrains/research/testspark/core/test/strategies/JUnitTestSuiteParserStrategy.kt index 3e3f6ac34..872179e00 100644 --- a/core/src/main/kotlin/org/jetbrains/research/testspark/core/test/strategies/JUnitTestSuiteParserStrategy.kt +++ b/core/src/main/kotlin/org/jetbrains/research/testspark/core/test/strategies/JUnitTestSuiteParserStrategy.kt @@ -2,12 +2,15 @@ package org.jetbrains.research.testspark.core.test.strategies import org.jetbrains.research.testspark.core.data.JUnitVersion import org.jetbrains.research.testspark.core.test.TestBodyPrinter -import org.jetbrains.research.testspark.core.test.TestCaseParseResult +import org.jetbrains.research.testspark.core.test.OperationResult +import org.jetbrains.research.testspark.core.test.ErrorDetails import org.jetbrains.research.testspark.core.test.data.TestCaseGeneratedByLLM import org.jetbrains.research.testspark.core.test.data.TestLine import org.jetbrains.research.testspark.core.test.data.TestLineType import org.jetbrains.research.testspark.core.test.data.TestSuiteGeneratedByLLM +typealias TestCaseParseResult = OperationResult + class JUnitTestSuiteParserStrategy { companion object { fun parseJUnitTestSuite( @@ -54,12 +57,12 @@ class JUnitTestSuiteParserStrategy { val result: TestCaseParseResult = testCaseParser.parse(rawTest, isLastTestCaseInTestSuite, testNamePattern, printTestBodyStrategy) - if (result.errorOccurred) { - println("WARNING: ${result.errorMessage}") + if (result.error != null) { + println("WARNING: ${result.error}") return@ca } - val currentTest = result.testCase!! + val currentTest = result.content!! // TODO: make logging work // log.info("New test case: $currentTest") @@ -104,9 +107,7 @@ class JUnitTestSuiteParserStrategy { */ if (!rawTest.contains(testNamePattern)) { return TestCaseParseResult( - testCase = null, - errorMessage = "The raw Test does not contain $testNamePattern:\n $rawTest", - errorOccurred = true, + error = ErrorDetails("The raw Test does not contain $testNamePattern:\n $rawTest") ) } @@ -182,11 +183,7 @@ class JUnitTestSuiteParserStrategy { printTestBodyStrategy = printTestBodyStrategy, ) - return TestCaseParseResult( - testCase = currentTest, - errorMessage = "", - errorOccurred = false, - ) + return TestCaseParseResult(content = currentTest) } } }