| #!/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 | |
| lmap = Li_std_map::LanguageMap.new | |
| lmap[1] = 3 | |
| lmap[8] = 9 | |
| swig_assert("lmap.select {|k, v| k == 8}.to_s == \"[8, 9]\"", binding) | |
| Li_std_map::populate(Li_std_map.MyMap) | |
| Li_std_map.MyMap["eeeeee"] = 6 | |
| swig_assert( "Li_std_map.MyMap['a'] == 1", binding ) | |
| swig_assert( "Li_std_map.MyMap['aa'] == 2", binding ) | |
| swig_assert( "Li_std_map.MyMap['zzz'] == 3", binding ) | |
| swig_assert( "Li_std_map.MyMap['xxxx'] == 4", binding ) | |
| swig_assert( "Li_std_map.MyMap['aaaaa'] == 5", binding ) | |
| swig_assert( "Li_std_map.MyMap['eeeeee'] == 6", binding ) | |
| mii = Li_std_map::IntIntMap.new | |
| mii[1] = 1 | |
| mii[1] = 2 | |
| swig_assert( "mii[1] == 2", binding ) |