Coverage Summary for Class: CacheRetract (it.unibo.tuprolog.argumentation.core.primitives.cache)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| CacheRetract |
100%
(1/1)
|
100%
(2/2)
|
|
100%
(5/5)
|
100%
(36/36)
|
package it.unibo.tuprolog.argumentation.core.primitives.cache
import it.unibo.tuprolog.argumentation.core.primitives.PrimitiveWithSignature
import it.unibo.tuprolog.argumentation.core.runtime.context.ClauseStore
import it.unibo.tuprolog.solve.ExecutionContext
import it.unibo.tuprolog.solve.Signature
import it.unibo.tuprolog.solve.primitive.Solve
/** cache_retract(+Clause): the clauses of the cache unifying with Clause removed */
internal class CacheRetract(
private val store: ClauseStore,
) : PrimitiveWithSignature {
override val signature = Signature("cache_retract", 1)
override fun solve(request: Solve.Request<ExecutionContext>): Sequence<Solve.Response> {
store.retractAll(request.arguments[0].castToStruct())
return sequenceOf(request.replyWith(true))
}
}