67 lines
1.4 KiB
Ruby
67 lines
1.4 KiB
Ruby
|
|
#!/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 )
|