input: Write a function to remove duplicate characters from a given string. The function should return the string with all unique characters in the order they first appear. If the string is empty, the function should return an empty string.
  
  def remove_duplicate_characters(string):
      seen = set()
      result = ""
      for char in string:
          if char not in seen:
              seen.add(char)
              result += char
      return result
  
  assert remove_duplicate_characters("bufferoverflow") == "buffero"
  assert remove_duplicate_characters("abcdef") == "abcdef"
  assert remove_duplicate_characters("aabbcc") == "abc"
  assert remove_duplicate_characters("") == ""
  assert remove_duplicate_characters("aaabbb") == "ab"
output: def remove_duplicate_characters(string):
      seen = set()
      result = ""
      for char in string:
          if char not in seen:
              seen.add(char)
              result += char
      return result