Sha256: 2ca310dd2e667a91ab3ed5a6d1cb2c75f1513bc55e7dc87aa6e871b9c7829c75

Contents?: true

Size: 895 Bytes

Versions: 1

Compression:

Stored size: 895 Bytes

Contents

#!/usr/bin/ruby

$:.unshift File.join(File.dirname(__FILE__), "..", "lib")

require 'test/unit'
require 'Solution'
require 'Variable'
require 'Domain'
require 'extensions'

module ConstraintSolver
    class SolutionTest < Test::Unit::TestCase
	def setup
	    @var = Variable.new("test", Domain.new([ 1 ].to_set), nil, 2)
	end

	def testConstructor
	    assert_raise(ArgumentError) { Solution.new }
	    assert_raise(ArgumentError) { Solution.new(@var) }
	    @var.value = 1
	    assert_nothing_raised { Solution.new(@var) }
	    assert_nothing_raised { Solution.new(@var, {}) }
	    assert_nothing_raised { Solution.new(@var, {}, 0.5) }
	    @var.reset
	end

	def testValues
	    @var.value = 1
	    solution = Solution.new(@var, { 1 => 2 })
	    assert_equal(4, solution.merit)
	    assert_equal(1, solution.variables.size)
	    assert_equal(1, solution.variables.first.value)
	end
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ConstraintSolver-0.1 test/SolutionTest.rb