Skip to content

Instantly share code, notes, and snippets.

@RedSoxFan22
Created May 19, 2015 13:16
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 RedSoxFan22/ad8a3b24870b584e1f45 to your computer and use it in GitHub Desktop.
Save RedSoxFan22/ad8a3b24870b584e1f45 to your computer and use it in GitHub Desktop.
names.rb
require 'minitest/autorun'
require 'minitest/pride'
require './names.rb'
def names(president)
array = []
hash = {}
input = gets.chomp.to_s
array << input
array.each do |name|
array.split("")
hash
end
end
class ArrayAndHashChallenge < MiniTest::Test
def test_one_name
expected = {"Washington" => "George"}
assert_equal expected, names(["George Washington"])
end
def test_complex_name
expected = {"Adams" => "John"}
assert_equal expected, names(["John Quincy Adams"])
end
def test_two_names
expected = {"Washington" => "George", "Adams" => "John"}
assert_equal expected, names(["George Washington", "John Quincy Adams"])
end
def test_no_names
assert_equal Hash.new, names(Array.new)
end
def test_no_array
assert_equal Hash.new, names(nil)
end
def test_bare_name
expected = {"Adams" => "John"}
assert_equal expected, names("John Quincy Adams")
end
def test_short_name
expected = {"Adams" => "John"}
assert_equal expected, names("John Quincy Adams")
end
def test_last_names_dont_overwrite
expected = {"Washington" => "George", "Roosevelt" => ["Theodore", "Franklin"]}
assert_equal expected, names(["George Washington", "Theodore Roosevelt", "Franklin Roosevelt"])
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment