Testing Basics
Edge Cases
Edge-case tests cover inputs near boundaries, such as blank strings or extra spaces.
Edge Cases
edge_cases.rb
def normalize_name(name)
trimmed = name.strip
trimmed.empty? ? "Anonymous" : trimmed
end
raw_name =
normalized = normalize_name(raw_name)
expected_blank = raw_name.strip.empty?
uses_fallback = normalized == "Anonymous"
puts "raw=#{raw_name}"
puts "normalized=#{normalized}"
puts "blank_input=#{expected_blank}"
puts "fallback=#{uses_fallback}"
def normalize_name(name)
trimmed = name.strip
trimmed.empty? ? "Anonymous" : trimmed
end
raw_name =
normalized = normalize_name(raw_name)
expected_blank = raw_name.strip.empty?
uses_fallback = normalized == "Anonymous"
puts "raw=#{raw_name}"
puts "normalized=#{normalized}"
puts "blank_input=#{expected_blank}"
puts "fallback=#{uses_fallback}"
def normalize_name(name)
trimmed = name.strip
trimmed.empty? ? "Anonymous" : trimmed
end
raw_name =
normalized = normalize_name(raw_name)
expected_blank = raw_name.strip.empty?
uses_fallback = normalized == "Anonymous"
puts "raw=#{raw_name}"
puts "normalized=#{normalized}"
puts "blank_input=#{expected_blank}"
puts "fallback=#{uses_fallback}"
edge case
An edge case checks behavior at a boundary that ordinary examples might miss.