Coverage Summary for Class: AbstractEndState (it.unibo.tuprolog.argumentation.core.engine.fsm)

Class Class, % Method, % Branch, % Line, % Instruction, %
AbstractEndState 100% (1/1) 50% (1/2) 80% (4/5) 76.5% (13/17)


 // Forked from 2p-kt's solve-prolog 3.0.2 (Apache License 2.0): see README.md in this package
 package it.unibo.tuprolog.argumentation.core.engine.fsm
 
 import it.unibo.tuprolog.argumentation.core.engine.PrologExecutionContext
 import it.unibo.tuprolog.solve.Solution
 
 /**
  * Common base of the two terminal [EndState]s (`StateEnd` and `StateHalt`). By default there is no further
  * transition from here ([computeNext] throws); `StateEnd` overrides this to loop back into `StateBacktracking`
  * when [PrologExecutionContext.hasOpenAlternatives] is true, which is what makes it a *resumable* terminal,
  * unlike `StateHalt`, the one true sink of the machine.
  */
 abstract class AbstractEndState(
     override val solution: Solution,
     override val context: PrologExecutionContext,
 ) : AbstractState(context),
     EndState {
     override fun computeNext(): State = throw NoSuchElementException()
 }