From 753be41e956d82a687bd9a0b15ba1d10f28d8271 Mon Sep 17 00:00:00 2001 From: Alpha Chen Date: Mon, 4 Dec 2017 07:31:53 -0800 Subject: [PATCH] [2017][ruby][4.0] --- 2017/ruby/day_04.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 2017/ruby/day_04.rb 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