aboutsummaryrefslogtreecommitdiffstats
path: root/test/drb/ut_large.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/drb/ut_large.rb')
-rw-r--r--test/drb/ut_large.rb26
1 files changed, 22 insertions, 4 deletions
diff --git a/test/drb/ut_large.rb b/test/drb/ut_large.rb
index c00279e7cb..9376ff119d 100644
--- a/test/drb/ut_large.rb
+++ b/test/drb/ut_large.rb
@@ -13,11 +13,29 @@ class DRbLarge
end
def sum(ary)
- sum = 0
- ary.each do |e|
- sum += e.to_i
+ ary.inject(:+)
+ end
+
+ def multiply(ary)
+ ary.inject(:*)
+ end
+
+ def avg(ary)
+ return if ary.empty?
+ if ary.any? {|n| n.is_a? String}
+ raise TypeError
+ else
+ sum(ary).to_f / ary.count
+ end
+ end
+
+ def median(ary)
+ return if ary.empty?
+ if ary.any? {|n| n.is_a? String}
+ raise TypeError
+ else
+ avg ary.sort[((ary.length - 1) / 2)..(ary.length / 2)]
end
- sum
end
def arg_test(*arg)