Created
May 2, 2016 13:16
-
-
Save joshuastr/ff0288798383dd82e4fd2f25c92cad2a to your computer and use it in GitHub Desktop.
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
### SETUP | |
require 'rspec' | |
### LOGIC (fix me) | |
class HelloWorld | |
def hello | |
@hello | |
end | |
def initialize(who) | |
@hello = who | |
puts "hello #{who}!" | |
end | |
end | |
# greeting = HelloWorld.new('world') | |
# greeting.hello | |
# TEST CODE (don't touch me) | |
describe '#hello' do | |
it 'returns "hello world!" when "world" is passed in' do | |
result = hello('world') | |
expect(result).to eq('hello world!') | |
end | |
end |
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
### SETUP | |
require 'rspec' | |
### LOGIC (fix me) | |
# Returns the average of all the numbers in the array | |
def average(numbers) | |
sum = 0 | |
if numbers == nil | |
return nil | |
end | |
if numbers.empty? | |
return nil | |
end | |
numbers.each do |n| | |
sum += n.to_f | |
end | |
sum / numbers.size | |
end | |
# puts average(nil) | |
#TEST CODE (don't touch me) | |
describe '#average' do | |
it 'returns nil for empty array' do | |
result = average([]) | |
expect(result).to be_nil | |
end | |
it 'returns nil when nil is passed in' do | |
result = average(nil) | |
expect(result).to be_nil | |
end | |
it 'returns 4 for 3,4,5' do | |
result = average([3, 4, 5]) | |
expect(result).to eq(4) | |
end | |
it 'can handle numbers represented as strings' do | |
result = average([10, '20', 30]) | |
expect(result).to eq(20) | |
end | |
it 'can handle floats' do | |
result = average([1.0, 1.5, 2.0]) | |
expect(result).to eq(1.5) | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment