summaryrefslogtreecommitdiff
path: root/ruby/test/Slice/structure/Client.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby/test/Slice/structure/Client.rb')
-rwxr-xr-xruby/test/Slice/structure/Client.rb377
1 files changed, 169 insertions, 208 deletions
diff --git a/ruby/test/Slice/structure/Client.rb b/ruby/test/Slice/structure/Client.rb
index a7d04de2fc1..8a35213e82a 100755
--- a/ruby/test/Slice/structure/Client.rb
+++ b/ruby/test/Slice/structure/Client.rb
@@ -8,216 +8,177 @@
#
# **********************************************************************
-require 'pathname'
-
-rubyDir = nil
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]
- path = Pathname.new(toplevel).join("ruby", "Ice.rb")
- if path.file?
- rubyDir = Pathname.new(toplevel).join("ruby")
- break
- end
-end
-if not rubyDir
- fail "can't find toplevel directory!"
-end
-
require 'Ice'
Ice::loadSlice('Test.ice')
-def test(b)
- if !b
- raise RuntimeError, 'test assertion failed'
+class Client < ::TestHelper
+ def run(args)
+ self.init(args:args) do |communicator|
+ print "testing equals() for Slice structures... "
+ STDOUT.flush
+
+ #
+ # Define some default values.
+ #
+ def_s2 = Test::S2.new(true, 98, 99, 100, 101, 1.0, 2.0, "string", ["one", "two", "three"], {"abc"=>"def"}, \
+ Test::S1.new("name"), Test::C.new(5), communicator.stringToProxy("test"))
+
+ #
+ # Compare default-constructed structures.
+ #
+ test(Test::S2.new.eql?(Test::S2.new))
+
+ #
+ # Change one primitive member at a time.
+ #
+ v = def_s2.clone
+ test(v.eql?(def_s2))
+
+ v = def_s2.clone
+ v.bo = false
+ test(!v.eql?(def_s2))
+
+ v = def_s2.clone
+ v.by = v.by - 1
+ test(!v.eql?(def_s2))
+
+ v = def_s2.clone
+ v.sh = v.sh - 1
+ test(!v.eql?(def_s2))
+
+ v = def_s2.clone
+ v.i = v.i - 1
+ test(!v.eql?(def_s2))
+
+ v = def_s2.clone
+ v.l = v.l - 1
+ test(!v.eql?(def_s2))
+
+ v = def_s2.clone
+ v.f = v.f - 1
+ test(!v.eql?(def_s2))
+
+ v = def_s2.clone
+ v.d = v.d - 1
+ test(!v.eql?(def_s2))
+
+ v = def_s2.clone
+ v.str = ""
+ test(!v.eql?(def_s2))
+
+ #
+ # String member
+ #
+ v1 = def_s2.clone
+ v1.str = "string"
+ test(v1.eql?(def_s2))
+
+ v1 = def_s2.clone
+ v2 = def_s2.clone
+ v1.str = nil
+ test(!v1.eql?(v2))
+
+ v1 = def_s2.clone
+ v2 = def_s2.clone
+ v2.str = nil
+ test(!v1.eql?(v2))
+
+ v1 = def_s2.clone
+ v2 = def_s2.clone
+ v1.str = nil
+ v2.str = nil
+ test(v1.eql?(v2))
+
+ #
+ # Sequence member
+ #
+ v1 = def_s2.clone
+ v1.ss = def_s2.ss.clone
+ test(v1.eql?(def_s2))
+
+ v1 = def_s2.clone
+ v1.ss = []
+ test(!v1.eql?(def_s2))
+
+ v1 = def_s2.clone
+ v1.ss = ["one", "two", "three"]
+ test(v1.eql?(def_s2))
+
+ v1 = def_s2.clone
+ v2 = def_s2.clone
+ v1.ss = nil
+ test(!v1.eql?(v2))
+
+ v1 = def_s2.clone
+ v2 = def_s2.clone
+ v2.ss = nil
+ test(!v1.eql?(v2))
+
+ #
+ # Dictionary member
+ #
+ v1 = def_s2.clone
+ v1.sd = {"abc"=>"def"}
+ test(v1.eql?(def_s2))
+
+ v1 = def_s2.clone
+ v1.sd = {}
+ test(!v1.eql?(def_s2))
+
+ v1 = def_s2.clone
+ v2 = def_s2.clone
+ v1.sd = nil
+ test(!v1.eql?(v2))
+
+ v1 = def_s2.clone
+ v2 = def_s2.clone
+ v2.sd = nil
+ test(!v1.eql?(v2))
+
+ #
+ # Struct member
+ #
+ v1 = def_s2.clone
+ v1.s = def_s2.s.clone
+ test(v1.eql?(def_s2))
+
+ v1 = def_s2.clone
+ v1.s = Test::S1.new("name")
+ test(v1.eql?(def_s2))
+
+ v1 = def_s2.clone
+ v1.s = Test::S1.new("noname")
+ test(!v1.eql?(def_s2))
+
+ #
+ # Class member
+ #
+ v1 = def_s2.clone
+ v1.cls = def_s2.cls.clone
+ test(!v1.eql?(def_s2))
+
+ #
+ # Proxy member
+ #
+ v1 = def_s2.clone
+ v1.prx = communicator.stringToProxy("test")
+ test(v1.eql?(def_s2))
+
+ v1 = def_s2.clone
+ v1.prx = communicator.stringToProxy("test2")
+ test(!v1.eql?(def_s2))
+
+ v1 = def_s2.clone
+ v2 = def_s2.clone
+ v1.prx = nil
+ test(!v1.eql?(v2))
+
+ v1 = def_s2.clone
+ v2 = def_s2.clone
+ v2.prx = nil
+ test(!v1.eql?(v2))
+
+ puts "ok"
+ end
end
end
-
-def allTests(communicator)
- print "testing equals() for Slice structures... "
- STDOUT.flush
-
- #
- # Define some default values.
- #
- def_s2 = Test::S2.new(true, 98, 99, 100, 101, 1.0, 2.0, "string", ["one", "two", "three"], {"abc"=>"def"}, \
- Test::S1.new("name"), Test::C.new(5), communicator.stringToProxy("test"))
-
- #
- # Compare default-constructed structures.
- #
- test(Test::S2.new.eql?(Test::S2.new))
-
- #
- # Change one primitive member at a time.
- #
- v = def_s2.clone
- test(v.eql?(def_s2))
-
- v = def_s2.clone
- v.bo = false
- test(!v.eql?(def_s2))
-
- v = def_s2.clone
- v.by = v.by - 1
- test(!v.eql?(def_s2))
-
- v = def_s2.clone
- v.sh = v.sh - 1
- test(!v.eql?(def_s2))
-
- v = def_s2.clone
- v.i = v.i - 1
- test(!v.eql?(def_s2))
-
- v = def_s2.clone
- v.l = v.l - 1
- test(!v.eql?(def_s2))
-
- v = def_s2.clone
- v.f = v.f - 1
- test(!v.eql?(def_s2))
-
- v = def_s2.clone
- v.d = v.d - 1
- test(!v.eql?(def_s2))
-
- v = def_s2.clone
- v.str = ""
- test(!v.eql?(def_s2))
-
- #
- # String member
- #
- v1 = def_s2.clone
- v1.str = "string"
- test(v1.eql?(def_s2))
-
- v1 = def_s2.clone
- v2 = def_s2.clone
- v1.str = nil
- test(!v1.eql?(v2))
-
- v1 = def_s2.clone
- v2 = def_s2.clone
- v2.str = nil
- test(!v1.eql?(v2))
-
- v1 = def_s2.clone
- v2 = def_s2.clone
- v1.str = nil
- v2.str = nil
- test(v1.eql?(v2))
-
- #
- # Sequence member
- #
- v1 = def_s2.clone
- v1.ss = def_s2.ss.clone
- test(v1.eql?(def_s2))
-
- v1 = def_s2.clone
- v1.ss = []
- test(!v1.eql?(def_s2))
-
- v1 = def_s2.clone
- v1.ss = ["one", "two", "three"]
- test(v1.eql?(def_s2))
-
- v1 = def_s2.clone
- v2 = def_s2.clone
- v1.ss = nil
- test(!v1.eql?(v2))
-
- v1 = def_s2.clone
- v2 = def_s2.clone
- v2.ss = nil
- test(!v1.eql?(v2))
-
- #
- # Dictionary member
- #
- v1 = def_s2.clone
- v1.sd = {"abc"=>"def"}
- test(v1.eql?(def_s2))
-
- v1 = def_s2.clone
- v1.sd = {}
- test(!v1.eql?(def_s2))
-
- v1 = def_s2.clone
- v2 = def_s2.clone
- v1.sd = nil
- test(!v1.eql?(v2))
-
- v1 = def_s2.clone
- v2 = def_s2.clone
- v2.sd = nil
- test(!v1.eql?(v2))
-
- #
- # Struct member
- #
- v1 = def_s2.clone
- v1.s = def_s2.s.clone
- test(v1.eql?(def_s2))
-
- v1 = def_s2.clone
- v1.s = Test::S1.new("name")
- test(v1.eql?(def_s2))
-
- v1 = def_s2.clone
- v1.s = Test::S1.new("noname")
- test(!v1.eql?(def_s2))
-
- #
- # Class member
- #
- v1 = def_s2.clone
- v1.cls = def_s2.cls.clone
- test(!v1.eql?(def_s2))
-
- #
- # Proxy member
- #
- v1 = def_s2.clone
- v1.prx = communicator.stringToProxy("test")
- test(v1.eql?(def_s2))
-
- v1 = def_s2.clone
- v1.prx = communicator.stringToProxy("test2")
- test(!v1.eql?(def_s2))
-
- v1 = def_s2.clone
- v2 = def_s2.clone
- v1.prx = nil
- test(!v1.eql?(v2))
-
- v1 = def_s2.clone
- v2 = def_s2.clone
- v2.prx = nil
- test(!v1.eql?(v2))
-
- puts "ok"
-end
-
-def run(args, communicator)
- allTests(communicator)
-
- return true
-end
-
-begin
- initData = Ice::InitializationData.new
- initData.properties = Ice.createProperties(ARGV)
- communicator = Ice.initialize(ARGV, initData)
- status = run(ARGV, communicator)
-rescue => ex
- puts $!
- print ex.backtrace.join("\n")
- status = false
-end
-
-if communicator
- communicator.destroy()
-end
-
-exit(status ? 0 : 1)