Represents a contract for annotation, which serves as condition, that has to be fullfiled to execute test, in other case the test execution is TestState.skipped. The ignore() annotation is one simple implementation of this mechanism.

The example below shows bug annotation, which allow to skip test, until the reported issue is resolved.

shared annotation BugAnnotation bug(String id) => BugAnnotation(id);

shared final annotation class BugAnnotation(String id)
         satisfies OptionalAnnotation<BugAnnotation,FunctionDeclaration> & TestCondition {

    shared actual Result evaluate(TestDescription description) {
        // check if the issue is already resolved
    }

} 

test
bug("1205")
shared void shouldTestSomethingButThereIsBug() {
}

no type hierarchy

no supertypes hierarchy

Inherited Attributes
Attributes inherited from: Object
Methods
evaluateSource Codeshared formal Result evaluate(TestExecutionContext context)

Evaluate the condition for the given test.

Inherited Methods
Methods inherited from: Object
Nested Classes
ResultSource Codeshared Result

The result of evaluating.