input: Write a function to create a class in Python to represent a complex number with attributes for the real and imaginary parts. The class should also have a method to return a string representation of the complex number in the form "(real + imaginary i)". If the given input is empty, return an empty string.
  assert str(ComplexNumber(1, 2))=="(1 + 2i)"
  assert str(ComplexNumber(-3, 4))=="(-3 + 4i)"
  assert str(ComplexNumber(0, 0))=="(0 + 0i)"
  assert str(ComplexNumber(5, -6))=="(5 + -6i)"
  assert str(ComplexNumber(0, 1))=="(0 + 1i)"
output: class ComplexNumber:
      def __init__(self, real, imaginary):
          self.real = real
          self.imaginary = imaginary
      
      def __str__(self):
          if self.real == 0 and self.imaginary == 0:
              return ""
          return f"({self.real} + {self.imaginary}i)"