Ruby 2.6
require "minitest/autorun" require "prime" class ArbitraryPropertyNumber def initialize number @number = number end def prime? Prime.prime?(@number) end def even? @number.even? end def multiple_of_ten? @number % 10 == 0 end end class ArbitraryPropertyNumberValidator def initialize number @number = number end def validate [number.prime?, number.even?, number.multiple_of_ten?] end private def number ArbitraryPropertyNumber.new(@number) end end class ArbitraryPropertyNumberValidatorTest < MiniTest::Test def test_first_element_is_true_when_number_is_prime assert_equal [true, false, false], ArbitraryPropertyNumberValidator.new(3).validate end def test_second_element_is_true_when_number_is_even assert_equal [false, true, false], ArbitraryPropertyNumberValidator.new(4).validate end def test_third_element_is_true_when_number_is_multiple_of_ten assert_equal [false, true, true], ArbitraryPropertyNumberValidator.new(20).validate end end
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Ruby 2.6