coverage/conditional_lines_subject.rb
tests/_examples/coverage/conditional_lines_subject.rb in the metorex repository.
def grade(score)
if score >= 90
"A"
elsif score >= 80
"B"
else
"C"
end
end
def label(value)
value.positive? ? "plus" : "minus"
end
def describe_size(count)
case count
when 0
"none"
when 1..3
"few"
else
"many"
end
end
def unless_zero(value)
unless value.zero?
value * 2
end
end
def countdown(from)
steps = []
while from > 0
steps << from
from -= 1
end
steps
end
def safe_length(text)
result = text&.length
result || 0
end
grade(95)
grade(85)
label(1)
describe_size(2)
unless_zero(3)
countdown(2)
safe_length(nil)