input: Write a function to generate a list of random numbers within a specified range and of a specified length. If the given length is 0, return an empty list. If the given min_value is greater than max_value, swap their values before generating the random numbers. The function should use Python's `random` module.
  
  def generate_random_numbers(length, min_value, max_value):
      if length == 0:
          return []
      if min_value > max_value:
          min_value, max_value = max_value, min_value
      return [random.uniform(min_value, max_value) for _ in range(length)]
  
  assert generate_random_numbers(5, 1, 10) != generate_random_numbers(5, 1, 10)  # Checking randomness
  assert generate_random_numbers(0, 1, 10) == []
  assert generate_random_numbers(3, 10, 1) == generate_random_numbers(3, 1, 10)
output: def generate_random_numbers(length, min_value, max_value):
      if length == 0:
          return []
      if min_value > max_value:
          min_value, max_value = max_value, min_value
      return [random.uniform(min_value, max_value) for _ in range(length)]