Created
August 6, 2012 01:38
-
-
Save JeffCohen/3268926 to your computer and use it in GitHub Desktop.
Coin Change Machine
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'test/unit' | |
class ChangeMachine | |
# Returns an array indicating the quantity of | |
# each denomination required. | |
# [pennies, nickels, dimes, quarters] | |
def issue_coins(amount) | |
end | |
end | |
class ChangeMachineTest < Test::Unit::TestCase | |
def test_one_penny | |
machine = ChangeMachine.new | |
coins = machine.issue_coins(1) | |
assert_equal [1, 0, 0, 0], coins | |
end | |
def test_pennies | |
machine = ChangeMachine.new | |
coins = machine.issue_coins(4) | |
assert_equal [4, 0, 0, 0], coins | |
end | |
def test_nickels | |
machine = ChangeMachine.new | |
coins = machine.issue_coins(5) | |
assert_equal [0, 1, 0, 0], coins | |
end | |
def test_nickels_and_pennies | |
machine = ChangeMachine.new | |
coins = machine.issue_coins(6) | |
assert_equal [1, 1, 0, 0], coins | |
end | |
def test_dimes | |
machine = ChangeMachine.new | |
coins = machine.issue_coins(10) | |
assert_equal [0, 0, 1, 0], coins | |
end | |
def test_dimes_and_nickels | |
machine = ChangeMachine.new | |
coins = machine.issue_coins(15) | |
assert_equal [0, 1, 1, 0], coins | |
end | |
def test_quarters | |
machine = ChangeMachine.new | |
coins = machine.issue_coins(25) | |
assert_equal [0, 0, 0, 1], coins | |
end | |
def test_quarters_and_dimes | |
machine = ChangeMachine.new | |
coins = machine.issue_coins(35) | |
assert_equal [0, 0, 1, 1], coins | |
end | |
def test_99 | |
machine = ChangeMachine.new | |
coins = machine.issue_coins(99) | |
assert_equal [4, 0, 2, 3], coins | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment