OSDN Git Service

ruby-1.9.1-rc1
[splhack/AndroidRuby.git] / lib / ruby-1.9.1-rc1 / test / matrix / test_vector.rb
1 require 'test/unit'
2 require 'matrix'
3
4 class TestVector < Test::Unit::TestCase
5   def setup
6     @v1 = Vector[1,2,3]
7     @v2 = Vector[1,2,3]
8     @v3 = @v1.clone
9     @v4 = Vector[1.0, 2.0, 3.0]
10     @w1 = Vector[2,3,4]
11   end
12
13   def test_identity
14     assert_same @v1, @v1
15     assert_not_same @v1, @v2
16     assert_not_same @v1, @v3
17     assert_not_same @v1, @v4
18     assert_not_same @v1, @w1
19   end
20
21   def test_equality
22     assert_equal @v1, @v1
23     assert_equal @v1, @v2
24     assert_equal @v1, @v3
25     assert_equal @v1, @v4
26     assert_not_equal @v1, @w1
27   end
28
29   def test_hash_equality
30     assert @v1.eql?(@v1)
31     assert @v1.eql?(@v2)
32     assert @v1.eql?(@v3)
33     assert !@v1.eql?(@v4)
34     assert !@v1.eql?(@w1)
35
36     hash = { @v1 => :value }
37     assert hash.key?(@v1)
38     assert hash.key?(@v2)
39     assert hash.key?(@v3)
40     assert !hash.key?(@v4)
41     assert !hash.key?(@w1)
42   end
43
44   def test_hash
45     assert_equal @v1.hash, @v1.hash
46     assert_equal @v1.hash, @v2.hash
47     assert_equal @v1.hash, @v3.hash
48   end
49 end