package org.jetbrains.bsp.testkit.client import org.jetbrains.bsp.protocol.CoverageReport import org.jetbrains.bsp.protocol.JoinedBuildClient import org.jetbrains.bsp.protocol.LogMessageParams import org.jetbrains.bsp.protocol.PublishDiagnosticsParams import org.jetbrains.bsp.protocol.TaskFinishParams import org.jetbrains.bsp.protocol.TaskStartParams open class MockClient : JoinedBuildClient { private val logMessage = ArrayList() private val taskStart = ArrayList() private val taskFinish = ArrayList() private val publishDiagnostics = ArrayList() val logMessageNotifications: List get() = logMessage val taskStartNotifications: List get() = taskStart val taskFinishNotifications: List get() = taskFinish val publishDiagnosticsNotifications: List get() = publishDiagnostics fun clearDiagnostics() { publishDiagnostics.clear() } override fun onBuildLogMessage(params: LogMessageParams) { logMessage.add(params) } override fun onBuildTaskStart(params: TaskStartParams) { taskStart.add(params) } override fun onBuildTaskFinish(params: TaskFinishParams) { taskFinish.add(params) } override fun onBuildPublishDiagnostics(params: PublishDiagnosticsParams) { publishDiagnostics.add(params) } override fun onPublishCoverageReport(report: CoverageReport) {} }