input: Write a function that uses Python's faker library to generate sample data for a web application. The function should return a list of tuples, each containing three pieces of data: name, email, and age. The age should be a random integer between 18 and 60.
  
  assert generate_sample_data() == [('John Doe', 'john.doe@example.com', 35), ('Jane Smith', 'jane.smith@example.org', 28), ('Bob Johnson', 'bob.johnson@example.net', 42), ('Alice Brown', 'alice.brown@example.co', 50), ('Charlie Davis', 'charlie.davis@example.io', 30), ('Eve Wilson', 'eve.wilson@example.edu', 25), ('Frank Miller', 'frank.miller@example.info', 48), ('Grace Moore', 'grace.moore@example.tv', 33), ('Hank Taylor', 'hank.taylor@example.biz', 55), ('Ivy Anderson', 'ivy.anderson@example.me', 18)]
output: 
  from faker import Faker
  import random
  
  def generate_sample_data():
      fake = Faker()
      data = []
      for _ in range(10):
          name = fake.name()
          email = fake.email()
          age = random.randint(18, 60)
          data.append((name, email, age))
      return data
  