/antlr-3.4/runtime/Ruby/test/unit/test-scope.rb
Ruby | 45 lines | 35 code | 8 blank | 2 comment | 12 complexity | c012c643e60d0592112cd4edc1c227c6 MD5 | raw file
- #!/usr/bin/ruby
- # encoding: utf-8
- require 'antlr3'
- require 'test/unit'
- require 'spec'
- class TestDFA < Test::Unit::TestCase
- def setup
- @A = ANTLR3::Scope.new( :a, :b )
- @B = ANTLR3::Scope.new( 'count = 3' )
- @C = ANTLR3::Scope.new( 'a', 'b = 0', 'c = {}' )
- end
-
- def test_members
- @A.members.map( &:to_s ).should == %w( a b )
- @B.members.map( &:to_s ).should == %w( count )
- @C.members.map( &:to_s ).should == %w( a b c )
- end
-
- def test_defaults_without_arguments
- @A.new.to_a.should == [ nil, nil ]
- @B.new.to_a.should == [ 3 ]
- @C.new.to_a.should == [ nil, 0, {} ]
- end
-
- def test_C_defaults_with_arguments
- c = @C.new( Object )
- c.a.should == Object
- c.b.should == 0
- c.c.should == {}
- end
-
- def test_B_defaults_with_arguments
- b = @B.new( 7000 )
- b.count.should == 7000
- end
-
- def test_A_defaults_with_arguments
- a = @A.new( "apple", :orange )
- a.a.should == 'apple'
- a.b.should == :orange
- end
-
- end