aboutsummaryrefslogtreecommitdiff
path: root/challenge-307/roger-bell-west/ruby/ch-2.rb
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-307/roger-bell-west/ruby/ch-2.rb')
-rwxr-xr-xchallenge-307/roger-bell-west/ruby/ch-2.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/challenge-307/roger-bell-west/ruby/ch-2.rb b/challenge-307/roger-bell-west/ruby/ch-2.rb
new file mode 100755
index 0000000000..072d727a78
--- /dev/null
+++ b/challenge-307/roger-bell-west/ruby/ch-2.rb
@@ -0,0 +1,26 @@
+#! /usr/bin/ruby
+
+def findanagrams(a)
+ b = a.map{|x| x.chars.sort.join}
+ out = 1
+ b.each_cons(2) do |s|
+ if s[0] != s[1]
+ out += 1
+ end
+ end
+ out
+end
+
+require 'test/unit'
+
+class TestFindanagrams < Test::Unit::TestCase
+
+ def test_ex1
+ assert_equal(3, findanagrams(['acca', 'dog', 'god', 'perl', 'repl']))
+ end
+
+ def test_ex2
+ assert_equal(2, findanagrams(['abba', 'baba', 'aabb', 'ab', 'ab']))
+ end
+
+end