Coverage Summary for Class: NessIntervention (it.unibo.tuprolog.argumentation.causality.primitives)

Class Class, % Method, % Branch, % Line, % Instruction, %
NessIntervention 100% (1/1) 100% (2/2) 100% (5/5) 100% (45/45)


 package it.unibo.tuprolog.argumentation.causality.primitives
 
 import it.unibo.tuprolog.argumentation.causality.runtime.CausalityAnalysis
 import it.unibo.tuprolog.argumentation.core.primitives.PrimitiveWithSignature
 import it.unibo.tuprolog.solve.ExecutionContext
 import it.unibo.tuprolog.solve.Signature
 import it.unibo.tuprolog.solve.primitive.Solve
 
 /**
  * ness_intervention(+Intervention, +Effect): Intervention, a list of statements, meets the revised NESS condition for
  * Effect: it refutes an explanation of Effect as no part of it does.
  */
 internal class NessIntervention(
     private val analysis: CausalityAnalysis,
 ) : PrimitiveWithSignature {
     override val signature = Signature("ness_intervention", 2)
 
     override fun solve(request: Solve.Request<ExecutionContext>): Sequence<Solve.Response> {
         val (intervention, effect) = request.arguments
         return sequenceOf(request.replyWith(analysis.ness(request, intervention.castToList(), effect)))
     }
 }