input: Write a function to create a formatted HTML span element with varying font-styles, sizes, and colors based on given text and options. If no options are provided, use default values for font, size, and color. Return the HTML string with the formatted text.
  
  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('Hello World', font="Arial", size='20px', color='#FF0000') == "<span style='font-family: Arial; font-size: 20px; color: #FF0000;'>Hello World</span>"
  assert format_text('Bold Text', font="Verdana", size='16px', color='#00FF00') == "<span style='font-family: Verdana; font-size: 16px; color: #00FF00;'>Bold Text</span>"
  assert format_text('Sample Text', font="Courier New", size='22px', color='#0000FF') == "<span style='font-family: Courier New; font-size: 22px; color: #0000FF;'>Sample Text</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)