Add spec for empty matcher

Mark question matchers as done (for now).
More may be added later if they're common.
This commit is contained in:
Michael Miller 2019-01-26 17:09:24 -07:00
parent 5231f0fd39
commit 651127f2d4
2 changed files with 44 additions and 1 deletions

View file

@ -114,7 +114,7 @@ In no particular order, features that have been implemented and are planned:
- [X] Equality matchers - `eq`, `be`, `be_a`, `match` - [X] Equality matchers - `eq`, `be`, `be_a`, `match`
- [X] Truthy matchers - `be_true`, `be_false`, `be_truthy`, `be_falsey` - [X] Truthy matchers - `be_true`, `be_false`, `be_truthy`, `be_falsey`
- [X] Comparison matchers - `<`, `<=`, `>`, `>=`, `be_within` - [X] Comparison matchers - `<`, `<=`, `>`, `>=`, `be_within`
- [ ] Question matchers - `be_nil`, `be_xxx` - [X] Question matchers - `be_nil`, `be_empty`
- [ ] Exception matchers - `raise_error` - [ ] Exception matchers - `raise_error`
- [ ] Collection matchers - `start_with`, `end_with`, `contain`, `contain_exactly` - [ ] Collection matchers - `start_with`, `end_with`, `contain`, `contain_exactly`
- [ ] Change matchers - `change`, `from`, `to`, `by`, `by_at_least`, `by_at_most` - [ ] Change matchers - `change`, `from`, `to`, `by`, `by_at_least`, `by_at_most`

View file

@ -0,0 +1,43 @@
require "../spec_helper"
describe Spectator::Matchers::EmptyMatcher do
describe "#match?" do
context "with an empty set" do
it "is true" do
array = [] of Symbol
partial = Spectator::Expectations::ValueExpectationPartial.new(array)
matcher = Spectator::Matchers::EmptyMatcher.new
matcher.match?(partial).should be_true
end
end
context "with a filled set" do
it "is false" do
array = %i[a b c]
partial = Spectator::Expectations::ValueExpectationPartial.new(array)
matcher = Spectator::Matchers::EmptyMatcher.new
matcher.match?(partial).should be_false
end
end
end
describe "#message" do
it "contains the actual label" do
array = %i[a b c]
label = "everything"
partial = Spectator::Expectations::ValueExpectationPartial.new(label, array)
matcher = Spectator::Matchers::EmptyMatcher.new
matcher.message(partial).should contain(label)
end
end
describe "#negated_message" do
it "contains the actual label" do
array = %i[a b c]
label = "everything"
partial = Spectator::Expectations::ValueExpectationPartial.new(label, array)
matcher = Spectator::Matchers::EmptyMatcher.new
matcher.negated_message(partial).should contain(label)
end
end
end