Sha256: a5c3476bddc5823520381837eeda2a3d5ae2ae9d20048a804112a9afad504467

Contents?: true

Size: 775 Bytes

Versions: 14

Compression:

Stored size: 775 Bytes

Contents

require File.dirname(__FILE__) + '/../constraint_helper'

describe Gecode::IntEnum::Equality do
  before do
    @model = Gecode::Model.new
    @vars = @model.int_var_array(4, -2..2)

    @types = [:int_enum]
    @invoke = lambda do |receiver, hash| 
      receiver.equal(hash)
      @model.solve!
    end
    @expect = lambda do |var, opts, reif_var|
      Gecode::Raw.should_receive(:rel).once.with(
        an_instance_of(Gecode::Raw::Space), 
        var, Gecode::Raw::IRT_EQ, *opts)
    end
  end
  
  it 'should constrain elements to be equal' do
    @vars[1].must == 1
    @vars.must_be.equal
    @model.solve!
    @vars.values.each{ |x| x.should == 1 }
  end
  
  it_should_behave_like 'non-reifiable constraint'
  it_should_behave_like 'non-negatable constraint'
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
gecoder-with-gecode-1.1.1.1 specs/constraints/int_enum/equality.rb
gecoder-with-gecode-1.1.1 specs/constraints/int_enum/equality.rb
gecoder-1.1.1 specs/constraints/int_enum/equality.rb
gecoder-with-gecode-1.1.0 specs/constraints/int_enum/equality.rb
gecoder-1.1.0 specs/constraints/int_enum/equality.rb
gecoder-1.0.0 specs/constraints/int_enum/equality.rb
gecoder-0.9.0 specs/constraints/int_enum/equality.rb
gecoder-0.9.1 specs/constraints/int_enum/equality.rb
gecoder-with-gecode-0.9.0-x86-mswin32-60 specs/constraints/int_enum/equality.rb
gecoder-with-gecode-0.9.0 specs/constraints/int_enum/equality.rb
gecoder-with-gecode-0.9.1-x86-mswin32-60 specs/constraints/int_enum/equality.rb
gecoder-with-gecode-0.9.1 specs/constraints/int_enum/equality.rb
gecoder-with-gecode-1.0.0-x86-mswin32-60 specs/constraints/int_enum/equality.rb
gecoder-with-gecode-1.0.0 specs/constraints/int_enum/equality.rb