Coverage Summary for Class: LabelModule (it.unibo.tuprolog.argumentation.core.modules.data)

Class Class, % Method, % Branch, % Line, % Instruction, %
LabelModule 100% (1/1) 100% (3/3) 100% (3/3) 100% (7/7)


 package it.unibo.tuprolog.argumentation.core.modules.data
 
 import it.unibo.tuprolog.argumentation.core.model.terms.LabelTerm
 import it.unibo.tuprolog.argumentation.core.modules.PrologModule
 
 /**
  * The terms of the labels (module `label`): an argument labelled IN, OUT or UND is `in(Argument)`, `out(Argument)` or
  * `und(Argument)`, by its identifier `inId(Id)`, `outId(Id)` or `undId(Id)` (the native labellings), and a statement
  * `statIn(Statement)`, `statOut(Statement)` or `statUnd(Statement)`. A label is in, out or und. Kotlin builds them
  * through [LabelTerm.argument], [LabelTerm.identifier] and [LabelTerm.statement].
  */
 object LabelModule : PrologModule("prolog.argumentation.data.label", "label") {
     override val prologRawTheory: String =
         // language=Prolog
         """
         %! label(?Label)
         %  Label is a label: in, out or und.
         label(in).
         label(out).
         label(und).
 
         %! argument(?Label, ?Argument, ?Fact)
         %  Fact labels Argument with Label.
         argument(in, Argument, in(Argument)).
         argument(out, Argument, out(Argument)).
         argument(und, Argument, und(Argument)).
 
         %! identifier(?Label, ?Id, ?Fact)
         %  Fact labels the argument with identifier Id with Label.
         identifier(in, Id, inId(Id)).
         identifier(out, Id, outId(Id)).
         identifier(und, Id, undId(Id)).
 
         %! statement(?Label, ?Statement, ?Fact)
         %  Fact labels Statement with Label.
         statement(in, Statement, statIn(Statement)).
         statement(out, Statement, statOut(Statement)).
         statement(und, Statement, statUnd(Statement)).
         """.trimIndent()
 }