spec/unit/veritas/logic/predicate/exclusion/inverse_spec.rb in veritas-0.0.1 vs spec/unit/veritas/logic/predicate/exclusion/inverse_spec.rb in veritas-0.0.2

- old
+ new

@@ -1,16 +1,22 @@ require 'spec_helper' describe 'Veritas::Logic::Predicate::Exclusion#inverse' do - subject { exclusion.inverse } + subject { object.inverse } - let(:attribute) { Attribute::Integer.new(:id) } - let(:exclusion) { attribute.exclude([ 1 ]) } + let(:klass) { Logic::Predicate::Exclusion } + let(:attribute) { Attribute::Integer.new(:id) } + let(:enumerable) { [ 1 ].freeze } + let(:object) { klass.new(attribute, enumerable) } - it { should eql(attribute.include([ 1 ])) } + it_should_behave_like 'an idempotent method' + it { should be_kind_of(Logic::Predicate::Inclusion) } + + its(:left) { should equal(attribute) } + + its(:right) { should equal(enumerable) } + it 'is invertible' do - subject.inverse.should equal(exclusion) + subject.inverse.should equal(object) end - - it_should_behave_like 'an idempotent method' end