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.