Sha256: 90f260745503e60434f573af1863aacef806321c6e77b619267b2906b0f99df6

Contents?: true

Size: 1.46 KB

Versions: 19

Compression:

Stored size: 1.46 KB

Contents

require_relative 'test_helper'

class BasicSuite < Minitest::Test

  def test_single_binary_var
    each_solver do |solver|
      assert_equal X_b.value, nil

      # The minimal value for a single binary variable is 0
      Rulp::Min(X_b).(solver)
      assert_equal X_b.value, false

      # The maximal value for a single binary variable is 1
      Rulp::Max(X_b).(solver)
      assert_equal X_b.value, true

      # If we set an upper bound this is respected by the solver
      Rulp::Max(X_b)[1 * X_b <= 0].(solver)
      assert_equal X_b.value, false

      # If we set a lower bound this is respected by the solver
      Rulp::Min(X_b)[1 * X_b >= 1].(solver)
      assert_equal X_b.value, true
    end
  end

  def test_single_integer_var
    each_solver do |solver|
      assert_equal X_i.value, nil

      given[ -35 <= X_i <= 35 ]

      # Integer variables respect integer bounds
      Rulp::Min(X_i).(solver)
      assert_equal X_i.value, -35

      # Integer variables respect integer bounds
      Rulp::Max(X_i).(solver)
      assert_equal X_i.value, 35
    end
  end

  def test_single_general_var
    each_solver do |solver|
      assert_equal X_f.value, nil

      given[ -345.4321 <= X_f <= 345.4321 ]

      # Integer variables respect integer bounds
      Rulp::Min(X_f).(solver)
      assert_in_delta X_f.value, -345.4321, 0.001

      # Integer variables respect integer bounds
      Rulp::Max(X_f).(solver)
      assert_in_delta X_f.value, 345.4321, 0.001
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
rulp-0.0.46 test/test_basic_suite.rb
rulp-0.0.45 test/test_basic_suite.rb
rulp-0.0.44 test/test_basic_suite.rb
rulp-0.0.43 test/test_basic_suite.rb
rulp-0.0.42 test/test_basic_suite.rb
rulp-0.0.41 test/test_basic_suite.rb
rulp-0.0.40 test/test_basic_suite.rb
rulp-0.0.39 test/test_basic_suite.rb
rulp-0.0.38 test/test_basic_suite.rb
rulp-0.0.37 test/test_basic_suite.rb
rulp-0.0.36 test/test_basic_suite.rb
rulp-0.0.35 test/test_basic_suite.rb
rulp-0.0.34 test/test_basic_suite.rb
rulp-0.0.33 test/test_basic_suite.rb
rulp-0.0.32 test/test_basic_suite.rb
rulp-0.0.29 test/test_basic_suite.rb
rulp-0.0.27 test/test_basic_suite.rb
rulp-0.0.26 test/test_basic_suite.rb
rulp-0.0.25 test/test_basic_suite.rb