diff options
Diffstat (limited to 'Examples/test-suite/ruby/li_std_map_runme.rb')
| -rwxr-xr-x | Examples/test-suite/ruby/li_std_map_runme.rb | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Examples/test-suite/ruby/li_std_map_runme.rb b/Examples/test-suite/ruby/li_std_map_runme.rb new file mode 100755 index 0000000..0ec8cac --- /dev/null +++ b/Examples/test-suite/ruby/li_std_map_runme.rb @@ -0,0 +1,51 @@ +#!/usr/bin/env ruby +# +# Tests for std::map +# +# +# +# +# + +require 'swig_assert' +require 'li_std_map' + +swig_assert_each_line(<<'EOF', binding) + +a1 = Li_std_map::A.new(3) +a2 = Li_std_map::A.new(7) + +p0 = Li_std_map::Pairii.new(1,2) +p1 = Li_std_map::PairA.new(1,a1) +m = {} +m[1] = a1 +m[2] = a2 + +pp1 = Li_std_map::p_identa(p1) +mm = Li_std_map::m_identa(m) + +m = Li_std_map::MapA.new +m[1] = a1 +m[2] = a2 +m.respond_to?(:each_key) == true +m.respond_to?(:each_value) == true + +pm ={} +m.each_key { |k| pm[k] = m[k] } +m.each_key { |k| swig_assert_equal("pm[k].object_id", "m[k].object_id", binding, 'only true if %trackings is on') } + +m = {} +m[1] = [1,2] +m["foo"] = "hello" + +pm = Li_std_map::LanguageMap.new +m.each_key { |k| pm[k] = m[k] } +m.each_key { |k| swig_assert_equal("pm[#{k.inspect}]", "m[#{k.inspect}]", binding) } +EOF + +mii = Li_std_map::IntIntMap.new + +mii[1] = 1 +mii[1] = 2 + +swig_assert( "mii[1] == 2", binding ) |
