input: Write a function to generate a voltage signal with random noise using a Python script. The function should accept a signal frequency and amplitude as inputs, and return the voltage signal as an array. If the input frequency or amplitude is invalid (e.g., negative), the function should return None. The signal should be generated over a time period of 1 second with 1000 evenly spaced points.
  
  def generate_voltage_signal(freq, amplitude):
      if freq < 0 or amplitude < 0:
          return None
      t = np.linspace(0, 1, 1000)
      voltage_signal = np.sin(2*np.pi*freq*t) + np.random.normal(0, 0.1, 1000)
      return voltage_signal
  
  assert np.array_equal(generate_voltage_signal(250, 1), np.sin(2*np.pi*250*np.linspace(0, 1, 1000)) + np.random.normal(0, 0.1, 1000))
  assert generate_voltage_signal(-250, 1) == None
  assert generate_voltage_signal(250, -1) == None
  assert generate_voltage_signal(0, 1) is not None
output: def generate_voltage_signal(freq, amplitude):
      if freq < 0 or amplitude < 0:
          return None
      t = np.linspace(0, 1, 1000)
      voltage_signal = np.sin(2*np.pi*freq*t) + np.random.normal(0, 0.1, 1000)
      return voltage_signal