input: Write a function to format a given piece of text with different options for font-style, size, and color. The function should return the formatted text as an HTML span element. If no options are provided, the function should use default values for the font, size, and color.
  def format_text(text, font="Times New Roman", size='14px', color='#000000'):
    return "<span style='font-family: {} font-size: {} color: {}'>{}</span>".format(font, size, color, text)
  
  assert format_text('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ut lectus vel nisi consequat bibendum ac a erat. Aliquam non velit sit amet arcu placerat vulputate a ut nibh.') == "<span style='font-family: Times New Roman font-size: 14px color: #000000'>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ut lectus vel nisi consequat bibendum ac a erat. Aliquam non velit sit amet arcu placerat vulputate a ut nibh.</span>"
  assert format_text('Custom font and color here', font='Arial', size='18px', color='#ff0000') == "<span style='font-family: Arial font-size: 18px color: #ff0000'>Custom font and color here</span>"
  assert format_text('Another example') == "<span style='font-family: Times New Roman font-size: 14px color: #000000'>Another example</span>"
  assert format_text('Default values') == "<span style='font-family: Times New Roman font-size: 14px color: #000000'>Default values</span>"
  assert format_text('') == "<span style='font-family: Times New Roman font-size: 14px color: #000000'></span>"
output: def format_text(text, font="Times New Roman", size='14px', color='#000000'):
    return "<span style='font-family: {}; font-size: {}; color: {};'>{}</span>".format(font, size, color, text)