Skip to content

Instantly share code, notes, and snippets.

@aellispierce
Last active August 29, 2015 14:15
Show Gist options
  • Save aellispierce/4983151f21b59c45486d to your computer and use it in GitHub Desktop.
Save aellispierce/4983151f21b59c45486d to your computer and use it in GitHub Desktop.
String Quiz
require 'minitest/autorun'
require 'minitest/pride'
# Write two methods:
#
# * `first_name`: given a name in string, return the first name.
# * `last_name`: given a name in string, return the last name.
def first_name(name)
if name== nil
first= ""
else
name= name.split(" ")
first= name[0..-2]
if first.length == 2
first = "#{first[0]} #{first[1]}"
end
if first == []
first = ""
end
first
end
end
def last_name(name)
if name == nil
first= ""
else
name= name.split(" ")
last= name[-1]
last.to_s
end
end
class StringQuiz < MiniTest::Test
def test_first_name
assert_equal "Mason", first_name("Mason Matthews")
end
def test_last_name
assert_equal "Matthews", last_name("Mason Matthews")
end
def test_one_word_name
assert_equal "", first_name("deadmou5")
assert_equal "deadmou5", last_name("deadmou5")
end
def test_three_word_name
assert_equal "John Quincy", first_name("John Quincy Adams")
assert_equal "Adams", last_name("John Quincy Adams")
end
def test_no_word_name
assert_equal "", first_name("")
assert_equal "", last_name("")
end
def test_nil_name
assert_equal "", first_name(nil)
assert_equal "", last_name(nil)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment