aboutsummaryrefslogtreecommitdiff
path: root/challenge-258/roger-bell-west/ruby/ch-1.rb
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-258/roger-bell-west/ruby/ch-1.rb')
-rwxr-xr-xchallenge-258/roger-bell-west/ruby/ch-1.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/challenge-258/roger-bell-west/ruby/ch-1.rb b/challenge-258/roger-bell-west/ruby/ch-1.rb
new file mode 100755
index 0000000000..96053ac590
--- /dev/null
+++ b/challenge-258/roger-bell-west/ruby/ch-1.rb
@@ -0,0 +1,35 @@
+#! /usr/bin/ruby
+
+def countevendigitsnumber(a)
+ t = 0
+ a.each do |p|
+ even = false
+ pt = p
+ while pt >= 10
+ pt = pt.div(10)
+ even = !even
+ end
+ if even then
+ t += 1
+ end
+ end
+ return t
+end
+
+require 'test/unit'
+
+class TestCountevendigitsnumber < Test::Unit::TestCase
+
+ def test_ex1
+ assert_equal(3, countevendigitsnumber([10, 1, 111, 24, 1000]))
+ end
+
+ def test_ex2
+ assert_equal(0, countevendigitsnumber([111, 1, 11111]))
+ end
+
+ def test_ex3
+ assert_equal(1, countevendigitsnumber([2, 8, 1024, 256]))
+ end
+
+end