swig/Examples/test-suite/ruby/li_std_deque_runme.rb
Gonzalo Garramuno 4b8d11d0e2 Fixed ruby's newobject1 and newobject2 demos.
Added swig_assert.rb and started using it in some tests.
Added my patches to ruby.cxx, rubyrun.swg, rubystrings.swg
and rubytracking.swg [see: sourceforge]



git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9691 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-04-28 04:20:28 +00:00

55 lines
1.2 KiB
Ruby

#!/usr/bin/env ruby
#
# Put description here
#
# Author:: gga
# Copyright:: 2007
# License:: SWIG
#
require 'swig_assert'
require 'li_std_deque'
include Li_std_deque
# Test constructors for std::deque<int>
intDeque = IntDeque.new
intDeque2 = IntDeque.new(3)
intDeque3 = IntDeque.new(4, 42)
intDeque4 = IntDeque.new(intDeque3)
# Test constructors for std::deque<double>
doubleDeque = DoubleDeque.new
doubleDeque2 = DoubleDeque.new(3)
doubleDeque3 = DoubleDeque.new(4, 42.0)
doubleDeque4 = DoubleDeque.new(doubleDeque3)
# Test constructors for std::deque<Real>
realDeque = RealDeque.new
realDeque2 = RealDeque.new(3)
realDeque3 = RealDeque.new(4, 42.0)
realDeque4 = RealDeque.new(realDeque3)
# average() should return the average of all values in a std::deque<int>
intDeque << 2
intDeque << 4
intDeque << 6
avg = average(intDeque)
raise RuntimeError if avg != 4.0
#
# half() should return a std::deque<float>, where each element is half
# the value of the corresponding element in the input deque<float>.
# The original deque's contents are unchanged.
#
realDeque.clear
realDeque << 2.0
halfDeque = half(realDeque)
raise RuntimeError unless halfDeque[0] == 1.0
#
# halve_in_place() should...
#
halve_in_place(doubleDeque)