1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
#!/usr/local/bin/ruby -w
$TESTING = true
require 'minitest/autorun'
require 'sexp_processor'
class TestEnvironment < MiniTest::Unit::TestCase
def setup
@env = SexpProcessor::Environment.new
end
def test_all
@env.scope do
@env[:x] = 42
@env.scope do
@env[:y] = 3
@env[:x] = Math::PI
expected = { :x => Math::PI, :y => 3 }
assert_equal expected, @env.all
end
expected = { :x => Math::PI }
assert_equal expected, @env.all
end
end
def test_depth
assert_equal 1, @env.depth
@env.scope do
assert_equal 2, @env.depth
end
assert_equal 1, @env.depth
end
def test_index
test_index_equals
end
def test_index_unknown
assert_nil @env[:unknown]
end
def test_index_out_of_scope
@env.scope do
@env[:var] = 42
assert_equal 42, @env[:var]
end
assert_nil @env[:var]
end
def test_index_equals
@env[:var] = 42
assert_equal 42, @env[:var]
end
def test_lookup_scope
@env[:var] = 42
assert_equal 42, @env[:var]
@env.scope do
assert_equal 42, @env[:var]
end
end
def test_scope
@env[:var] = 42
assert_equal 42, @env[:var]
@env.scope do
@env[:var] = Math::PI
assert_equal Math::PI, @env[:var]
end
assert_equal Math::PI, @env[:var]
end
end
|