~ubuntu-branches/ubuntu/lucid/jruby/lucid

« back to all changes in this revision

Viewing changes to test/externals/ruby1.9/ostruct/test_ostruct.rb

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Delafond
  • Date: 2009-12-09 17:30:55 UTC
  • Revision ID: james.westby@ubuntu.com-20091209173055-8ffzikq1768gywux
Tags: upstream-1.3.1
ImportĀ upstreamĀ versionĀ 1.3.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
require 'test/unit'
 
2
require 'ostruct'
 
3
 
 
4
class TC_OpenStruct < Test::Unit::TestCase
 
5
  def test_equality
 
6
    o1 = OpenStruct.new
 
7
    o2 = OpenStruct.new
 
8
    assert_equal(o1, o2)
 
9
 
 
10
    o1.a = 'a'
 
11
    assert_not_equal(o1, o2)
 
12
 
 
13
    o2.a = 'a'
 
14
    assert_equal(o1, o2)
 
15
 
 
16
    o1.a = 'b'
 
17
    assert_not_equal(o1, o2)
 
18
 
 
19
    o2 = Object.new
 
20
    o2.instance_eval{@table = {:a => 'b'}}
 
21
    assert_not_equal(o1, o2)
 
22
  end
 
23
  
 
24
  def test_inspect
 
25
    foo = OpenStruct.new
 
26
    assert_equal("#<OpenStruct>", foo.inspect)
 
27
    foo.bar = 1
 
28
    foo.baz = 2
 
29
    assert_equal("#<OpenStruct bar=1, baz=2>", foo.inspect)
 
30
 
 
31
    foo = OpenStruct.new
 
32
    foo.bar = OpenStruct.new
 
33
    assert_equal('#<OpenStruct bar=#<OpenStruct>>', foo.inspect)
 
34
    foo.bar.foo = foo
 
35
    assert_equal('#<OpenStruct bar=#<OpenStruct foo=#<OpenStruct ...>>>', foo.inspect)
 
36
  end
 
37
end