Package-level declarations
Types
A leaf test node consisting of a displayName and the executable which represents the test as such.
Note, this type only exists because Kotlin does not allow yet to have a generic type with a fixed type parameter on the RHS of an actual typealias such as actual typealias PlatformTestNodeContainer = Iterable<DynamicNode> and because JUnits compatibility check at runtime requires a ParameterizedType. If JUnit would not require it but instead check if a supertype is compliant, then we could just use PlatformTestNodeContainer and type alias it to IterableDynamicNodeWrapper in jvm.
Note, we only have a type parameter because Kotlin does not allow yet to have a generic type with a fixed type parameter on the RHS of an actual typealias such as actual typealias PlatformTestNodeContainer = Iterable<DynamicNode> and because JUnits compatibility check at runtime requires a ParameterizedType. This is also the reason why we need PlatformTestNode
Represents a test as such and provides an abstraction over which expectation verb shall be used.
Represents the contract each TestExecutable implementation has to follow. Not implementing it as well will lead to a ClassCastException at runtime.
Annotation which tells the test runner that a test factory is used.
Builder to create a hierarchy of TestNodes.
Functions
Performs an unsafe cast on the given node to LeafTestNode<TestExecutableT> and applies LeafTestNode.executable on this TestExecutableT.
Template method intended for providers of expectation verbs.
Turns the given testNodes into a platform specific representation such as JUnit's DynamicNode.