SolverTest

interface SolverTest

Base interface shared by every reusable, solver-agnostic conformance test suite in this module (e.g. TestSolver, TestAbolish, TestFindAll, and so on).

It only provides the TimeDurations (shortDuration, mediumDuration, longDuration) that test cases pass to Solver.solve(goal, maxDuration) so that a single set of ISO-conformance tests can be shared, via the prototype factory declared on each subinterface's companion object, by every concrete Solver implementation (:solve-classic, :solve-streams, :solve-concurrent) instead of being duplicated once per module. Durations are scaled up on Windows (see Info.OS), where CI runners have historically needed more slack to reliably finish within the allotted time.

Inheritors

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

A long test max duration, four times mediumDuration; used for queries involving deeper search or recursion.

Link copied to clipboard

A medium test max duration, twice shortDuration; used for queries involving a handful of resolution steps.

Link copied to clipboard

A short test max duration, used for queries expected to resolve almost immediately.