Sha256: 8b6203bc72fc8a484110c149325daf3066b9e317ea31c5bc68f2991d222910d1
Contents?: true
Size: 1.12 KB
Versions: 3
Compression:
Stored size: 1.12 KB
Contents
# encoding: utf-8 module Selector describe Selector::Not do let(:inversion) { described_class.new condition } let(:condition) do result = double freeze: true allow(result).to receive(:[]) { |value| value == :foo } result end describe ".new" do subject { inversion } it { is_expected.to be_kind_of Condition } it { is_expected.to be_frozen } context "ANYTHING" do let(:condition) { ANYTHING } it { is_expected.to eql NOTHING } end # context context "NOTHING" do let(:condition) { NOTHING } it { is_expected.to eql ANYTHING } end # context context "other" do it { is_expected.to be_kind_of described_class } end # context end # describe .new describe "#[]" do it "inverts the condition" do expect(inversion[:foo]).to eql(false) expect(inversion[:bar]).to eql(true) end end # describe #[] describe "#!" do subject { !inversion } it { is_expected.to equal condition } end # describe #! end # describe Selector::Not end # module Selector
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
selector-0.0.3 | spec/unit/selector/not_spec.rb |
selector-0.0.2 | spec/unit/selector/not_spec.rb |
selector-0.0.1 | spec/unit/selector/not_spec.rb |