Skip to content

Instantly share code, notes, and snippets.

@jesseract
Created March 3, 2015 14:20
Show Gist options
  • Save jesseract/f15bc334bf0159a5ac85 to your computer and use it in GitHub Desktop.
Save jesseract/f15bc334bf0159a5ac85 to your computer and use it in GitHub Desktop.
require 'minitest/autorun'
require 'minitest/pride'
# Write a class which wraps around an array, but only allows odd numbers
# to be stored in the array.
class OddArray
def initialize(array)
end
def new
oddarray = [1..10]
end
end
class CompositionChallenge < MiniTest::Test
def test_class_exists
assert OddArray
end
def test_initializer_takes_array_parameter
assert OddArray.new([1, 3, 5])
end
def test_to_a
odd_array = OddArray.new([1, 3, 5])
assert_equal [1, 3, 5], odd_array.to_a
end
def test_add_number
odd_array = OddArray.new([1, 3, 5])
odd_array.add(7)
assert_equal [1, 3, 5, 7], odd_array.to_a
end
def test_initialize_with_evens
odd_array = OddArray.new([1, 2, 3, 4, 5])
assert_equal [1, 3, 5], odd_array.to_a
end
def test_add_evens
odd_array = OddArray.new([1, 3, 5])
odd_array.add(2)
assert_equal [1, 3, 5], odd_array.to_a
end
def test_add_negatives
odd_array = OddArray.new([-1, -2, 3, 4, -5])
odd_array.add(-4)
assert_equal [-1, 3, -5], odd_array.to_a
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment