The Epic.Specifications namespace contains a general purpose framework for specifications. It provides a closure of operations over basic logical operators (conjunction, disjunction and negation) with some well designed extensions for handling inhteritance.
It's defined in Epic.Prelude.
It's defined in Epic.Prelude.
Declaration Syntax
C# |
namespace Epic.Specifications
Types
All Types | Classes | Interfaces |
Type | Description | |
---|---|---|
Any<(Of <(<'TCandidate>)>)> |
Specification that is satisfied by any TCandidate.
| |
Conjunction<(Of <(<'TCandidate>)>)> |
Specification that is satisfied by any TCandidate that is satisfied by all the
specifications.
| |
Disjunction<(Of <(<'TCandidate>)>)> |
Specification that is satisfied by any TCandidate that is satisfied by at
least one of the specifications.
| |
IMonadicSpecificationComposition<(Of <(<'TCandidate>)>)> |
Interface implemented by polyadic composition of specifications.
| |
IPolyadicSpecificationComposition<(Of <(<'TCandidate>)>)> |
Interface implemented by polyadic composition of specifications.
| |
ISpecification |
Common interface for specifications.
| |
ISpecification<(Of <(<'TCandidate>)>)> |
Specificaiton interface.
| |
Negation<(Of <(<'TCandidate>)>)> |
Specification that is satisfied by any TCandidate that doesn't satisfy the negated one.
| |
No<(Of <(<'TCandidate>)>)> |
Specification that is not satisfied by any TCandidate.
| |
SpecificationBase<(Of <(<'TSpecification, Candidate>)>)> |
Base class for specifications of Candidate.
| |
SpecificationBase<(Of <(<'TSpecification, Candidate1, Candidate2>)>)> |
Base class for specifications that can be satisfied by Candidate1
and by Candidate2.
| |
StatelessSpecificationBase<(Of <(<'TSpecification, TCandidate>)>)> |
Base class for stateless specification.
| |
Variant<(Of <(<'FromCandidate, ToCandidate>)>)> |
Specification that is satisfied by any ToCandidate that is a
FromCandidate satisfing the inner specification.
|