shard-spectator/spec/dsl/example_factory_spec.cr

28 lines
1.2 KiB
Crystal

require "../spec_helper"
describe Spectator::DSL::ExampleFactory do
describe "#build" do
it "creates an example of the correct type" do
factory = Spectator::DSL::ExampleFactory.new(SpyExample)
group = Spectator::RootExampleGroup.new(Spectator::ExampleHooks.empty, Spectator::ExampleConditions.empty)
example = factory.build(group, Spectator::Internals::SampleValues.empty)
example.should be_a(SpyExample)
end
it "passes along the group" do
factory = Spectator::DSL::ExampleFactory.new(SpyExample)
group = Spectator::RootExampleGroup.new(Spectator::ExampleHooks.empty, Spectator::ExampleConditions.empty)
example = factory.build(group, Spectator::Internals::SampleValues.empty)
example.group.should eq(group)
end
it "passes along the sample values" do
factory = Spectator::DSL::ExampleFactory.new(SpyExample)
group = Spectator::RootExampleGroup.new(Spectator::ExampleHooks.empty, Spectator::ExampleConditions.empty)
values = Spectator::Internals::SampleValues.empty.add(:foo, "foo", 12345)
example = factory.build(group, values)
example.as(SpyExample).sample_values.should eq(values)
end
end
end