diff options
Diffstat (limited to 'Examples/test-suite/ruby/global_immutable_vars_cpp_runme.rb')
-rw-r--r-- | Examples/test-suite/ruby/global_immutable_vars_cpp_runme.rb | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Examples/test-suite/ruby/global_immutable_vars_cpp_runme.rb b/Examples/test-suite/ruby/global_immutable_vars_cpp_runme.rb new file mode 100644 index 000000000..7897f7da5 --- /dev/null +++ b/Examples/test-suite/ruby/global_immutable_vars_cpp_runme.rb @@ -0,0 +1,48 @@ +#!/usr/bin/env ruby +# +# C++ version of global_immutable_vars_runme.rb +# + +require 'swig_assert' + +require 'global_immutable_vars_cpp' + +# first check if all variables can be read +swig_assert_each_line( <<EOF ) +Global_immutable_vars_cpp::default_mutable_var == 40 +Global_immutable_vars_cpp::global_immutable_var == 41 +Global_immutable_vars_cpp::specific_mutable_var == 42 +Global_immutable_vars_cpp::global_mutable_var == 43 +Global_immutable_vars_cpp::specific_immutable_var == 44 +EOF + +# check that all mutable variables can be modified +swig_assert_each_line( <<EOF ) +Global_immutable_vars_cpp::default_mutable_var = 80 +Global_immutable_vars_cpp::default_mutable_var == 80 +Global_immutable_vars_cpp::specific_mutable_var = 82 +Global_immutable_vars_cpp::specific_mutable_var == 82 +Global_immutable_vars_cpp::global_mutable_var = 83 +Global_immutable_vars_cpp::global_mutable_var == 83 +EOF + +# now check that immutable variables cannot be modified +had_exception = false +begin + Global_immutable_vars_cpp::global_immutable_var = 81 +rescue NoMethodError => e + had_exception = true +end +swig_assert(had_exception, nil, + "Global_immutable_vars_cpp::global_immutable_var is writable (expected to be immutable)") + +had_exception = false +begin + Global_immutable_vars_cpp::specific_immutable_var = 81 +rescue NoMethodError => e + had_exception = true +end +swig_assert(had_exception, nil, + "Global_immutable_vars_cpp::specific_immutable_var is writable (expected to be immutable)") + +swig_assert(Global_immutable_vars_cpp::check_values(80, 41, 82, 83, 44) == 1, nil, "Check values failed") |