Sha256: 70ca2cc1d86f55701c4af39abcb098b121a9a422de86b1369c57ce081e6ed36b

Contents?: true

Size: 731 Bytes

Versions: 1

Compression:

Stored size: 731 Bytes

Contents

require 'spec_helper'
require File.expand_path('../fixtures/classes', __FILE__)

describe 'Veritas::Logic::Predicate#inverse' do
  subject { object.inverse }

  let(:klass)     { Class.new(PredicateSpecs::Object) }
  let(:attribute) { Attribute::Integer.new(:id)       }
  let(:object)    { klass.new(attribute, 1)           }

  before do
    klass.class_eval do
      def inspect
        "#{left.inspect} op #{right.inspect}"
      end
    end
  end

  it_should_behave_like 'an idempotent method'

  it { should be_kind_of(klass) }

  it { should_not equal(object) }

  its(:left)  { should equal(attribute) }
  its(:right) { should == 1             }

  it 'is invertible' do
    subject.inverse.should equal(object)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
veritas-0.0.2 spec/unit/veritas/logic/predicate/inverse_spec.rb