shard-spectator/src/spectator/example_group_iteration.cr

26 lines
1.0 KiB
Crystal

require "./example_group"
require "./label"
require "./location"
require "./metadata"
module Spectator
# Collection of examples and sub-groups for a single iteration of an iterative example group.
class ExampleGroupIteration(T) < ExampleGroup
# Item for this iteration of the example groups.
getter item : T
# Creates the example group iteration.
# The element for the current iteration is provided by *item*.
# The *name* describes the purpose of the group.
# It can be a `Symbol` to describe a type.
# This is typically a stringified form of *item*.
# The *location* tracks where the group exists in source code.
# This group will be assigned to the parent *group* if it is provided.
# A set of *metadata* can be used for filtering and modifying example behavior.
def initialize(@item : T, name : Label = nil, location : Location? = nil,
group : ExampleGroup? = nil, metadata : Metadata? = nil)
super(name, location, group, metadata)
end
end
end