input: Write a function to generate sample data for a web application using Python's faker library. The output should contain three columns of data: name, email, and age. The function should return a list of tuples, each tuple containing a name, email, and age.
  from faker import Faker
  
  def generate_sample_data(num_samples=10):
      fake = Faker()
      data = []
      for _ in range(num_samples):
          name = fake.name()
          email = fake.email()
          age = fake.random_int(min=18, max=60)
          data.append((name, email, age))
      return data
  
  assert generate_sample_data(0) == []
  assert len(generate_sample_data(5)) == 5
  assert all(isinstance(name, str) and '@' in email and 18 <= age <= 60 for name, email, age in generate_sample_data(10))
  assert len(generate_sample_data(1)) == 1
output: 
  def generate_sample_data(num_samples=10):
      fake = Faker()
      data = []
      for _ in range(num_samples):
          name = fake.name()
          email = fake.email()
          age = fake.random_int(min=18, max=60)
          data.append((name, email, age))
      return data
  