input: Write a function to format a given piece of text (input) with different options for font-style, size, and color. The function should take in four parameters: the text to be formatted, the font style (default "Times New Roman"), the font size (default "14px"), and the color (default "#000000"). The function should return the formatted text as an HTML span element. 
  
  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('Testing with different parameters.', 'Arial', '20px', '#FF5733') == "<span style='font-family: Arial; font-size: 20px; color: #FF5733;'>Testing with different parameters.</span>"
  assert format_text('Default settings test.', '12px') == "<span style='font-family: Times New Roman; font-size: 14px; color: #000000;'>Default settings test.</span>"
  assert format_text('Another test with defaults.') == "<span style='font-family: Times New Roman; font-size: 14px; color: #000000;'>Another test with defaults.</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)