#!/usr/bin/env ruby # # Put description here # # # # # require 'swig_assert' require 'overload_bool' include Overload_bool # Overloading bool, int, string if overloaded(true) != "bool" raise RuntimeError, "wrong!" end if overloaded(false) != "bool" raise RuntimeError, "wrong!" end if overloaded(0) != "int" raise RuntimeError, "wrong!" end if overloaded(1) != "int" raise RuntimeError, "wrong!" end if overloaded(2) != "int" raise RuntimeError, "wrong!" end if overloaded("1234") != "string" raise RuntimeError, "wrong!" end # Test bool masquerading as integer # Not possible # Test int masquerading as bool if boolfunction(0) != "false" raise RuntimeError, "wrong!" end if boolfunction(1) != "true" raise RuntimeError, "wrong!" end if boolfunction(2) != "true" raise RuntimeError, "wrong!" end ############################################# # Overloading bool, int, string if overloaded_ref(true) != "bool" raise RuntimeError, "wrong!" end if overloaded_ref(false) != "bool" raise RuntimeError, "wrong!" end if overloaded_ref(0) != "int" raise RuntimeError, "wrong!" end if overloaded_ref(1) != "int" raise RuntimeError, "wrong!" end if overloaded_ref(2) != "int" raise RuntimeError, "wrong!" end if overloaded_ref("1234") != "string" raise RuntimeError, "wrong!" end # Test bool masquerading as integer # Not possible # Test int masquerading as bool if boolfunction_ref(0) != "false" raise RuntimeError, "wrong!" end if boolfunction_ref(1) != "true" raise RuntimeError, "wrong!" end if boolfunction_ref(2) != "true" raise RuntimeError, "wrong!" end