Skip to content

Instantly share code, notes, and snippets.

@esmerino
Last active August 2, 2016 19:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save esmerino/835633b24dc8e24a149837ab317340bd to your computer and use it in GitHub Desktop.
Save esmerino/835633b24dc8e24a149837ab317340bd to your computer and use it in GitHub Desktop.
require "minitest/autorun"
require "minitest/pride"
class NamaTomTest < Minitest::Test
def test_check
assert_equal text, NamaTom::check((1..100).to_a)
end
private
def text
"1,2,3,4,NAMA,6,TEAM,8,9,NAMA,11,12,13,TEAM,NAMA,16,17,18,19,NAMA,TEAM,22,23,24,NAMA,26,27,TEAM,29,NAMA,31,32,33,34,NAMA TEAM,36,37,38,39,NAMA,41,TEAM,43,44,NAMA,46,47,48,TEAM,NAMA,51,52,53,54,NAMA,TEAM,57,58,59,NAMA,61,62,TEAM,64,NAMA,66,67,68,69,NAMA TEAM,71,72,73,74,NAMA,76,TEAM,78,79,NAMA,81,82,83,TEAM,NAMA,86,87,88,89,NAMA,TEAM,92,93,94,NAMA,96,97,TEAM,99,NAMA"
end
end
module NamaTom
def self.check(value)
(value).to_a.map{|f| value = [["NAMA",5],["TEAM",7],["NAMA TEAM",35]].map{|a| a[0] if f%a[1] == 0}.uniq.compact;value.empty? ? value << f : value.last}.flatten.join(",")
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment