summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/test/soap/calc/test_calc.rb
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-22 01:53:51 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-22 01:53:51 +0000
commit1e760c0be3ed35874204114e7454509f740c0fe2 (patch)
treea75eb2b1eea073830902d1fa49c568c4525c8b57 /ruby_1_8_6/test/soap/calc/test_calc.rb
parenta2055d63b41a6678dc7aeb17d0bece314e700c5a (diff)
add tag v1_8_6_71v1_8_5_71
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_5_71@13189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_6/test/soap/calc/test_calc.rb')
-rw-r--r--ruby_1_8_6/test/soap/calc/test_calc.rb49
1 files changed, 49 insertions, 0 deletions
diff --git a/ruby_1_8_6/test/soap/calc/test_calc.rb b/ruby_1_8_6/test/soap/calc/test_calc.rb
new file mode 100644
index 0000000000..88738716a6
--- /dev/null
+++ b/ruby_1_8_6/test/soap/calc/test_calc.rb
@@ -0,0 +1,49 @@
+require 'test/unit'
+require 'soap/rpc/driver'
+require 'server.rb'
+
+
+module SOAP
+module Calc
+
+
+class TestCalc < Test::Unit::TestCase
+ Port = 17171
+
+ def setup
+ @server = CalcServer.new(self.class.name, nil, '0.0.0.0', Port)
+ @server.level = Logger::Severity::ERROR
+ @t = Thread.new {
+ @server.start
+ }
+ @endpoint = "http://localhost:#{Port}/"
+ @calc = SOAP::RPC::Driver.new(@endpoint, 'http://tempuri.org/calcService')
+ @calc.add_method('add', 'lhs', 'rhs')
+ @calc.add_method('sub', 'lhs', 'rhs')
+ @calc.add_method('multi', 'lhs', 'rhs')
+ @calc.add_method('div', 'lhs', 'rhs')
+ end
+
+ def teardown
+ @server.shutdown
+ @t.kill
+ @t.join
+ @calc.reset_stream
+ end
+
+ def test_calc
+ assert_equal(3, @calc.add(1, 2))
+ assert_equal(-1.1, @calc.sub(1.1, 2.2))
+ assert_equal(2.42, @calc.multi(1.1, 2.2))
+ assert_equal(2, @calc.div(5, 2))
+ assert_equal(2.5, @calc.div(5.0, 2))
+ assert_equal(1.0/0.0, @calc.div(1.1, 0))
+ assert_raises(ZeroDivisionError) do
+ @calc.div(1, 0)
+ end
+ end
+end
+
+
+end
+end