[2017][ruby][4.0]
change rlvyoyvkzrorumprmzuqomlytuvyotpq
commit 73a26d1d527f88a7efa3dfe31dea3f29b7650855
author Alpha Chen <alpha.chen@gmail.com>
date
parent noyrpltz
diff --git a/2017/ruby/day_04.rb b/2017/ruby/day_04.rb
new file mode 100644
index 0000000..e41ec5e
--- /dev/null
+++ b/2017/ruby/day_04.rb
@@ -0,0 +1,24 @@
+class Passphrase
+  def initialize(raw)
+    @raw = raw
+  end
+
+  def valid?
+    words = @raw.split(/\s+/)
+    words.uniq.size == words.size
+  end
+end
+
+# require "minitest/autorun"
+if $0 == __FILE__
+  p ARGF.read.split("\n").map {|line| Passphrase.new(line) }.select(&:valid?).size
+end
+
+require "minitest"
+class TestPassphrase < Minitest::Test
+  def test_valid
+    assert Passphrase.new("aa bb cc dd ee").valid?
+    refute Passphrase.new("aa bb cc dd aa").valid?
+    assert Passphrase.new("aa bb cc dd aaa").valid?
+  end
+end