input: Write a python function to generate a Fibonacci sequence up to an upper limit.
  assert generate_fibonacci(10) == [0, 1, 1, 2, 3, 5, 8, 13]
  assert generate_fibonacci(20) == [0, 1, 1, 2, 3, 5, 8, 13, 21]
  assert generate_fibonacci(1) == [0, 1, 1]
output: def generate_fibonacci(limit):
      fibonacci_sequence = [0, 1]
      while True:
          next_value = fibonacci_sequence[-1] + fibonacci_sequence[-2]
          if next_value > limit:
              break
          fibonacci_sequence.append(next_value)
      return fibonacci_sequence