input: Write a python function to train a Naive Bayes model using TF-IDF vectorization on a given dataset and test it on another dataset.
  assert train_and_test_naive_bayes(train_data, test_data) == expected_predictions
output: def train_and_test_naive_bayes(train_data, test_data):
      from sklearn.feature_extraction.text import TfidfVectorizer
      from sklearn.naive_bayes import MultinomialNB
      from sklearn.pipeline import make_pipeline
      
      # Extract the texts and labels from the training and testing data
      train_texts, train_labels = zip(*train_data)
      test_texts, test_labels = zip(*test_data)
      
      # Create a pipeline that combines the TF-IDF vectorizer with a Naive Bayes classifier
      model = make_pipeline(TfidfVectorizer(), MultinomialNB())
      
      # Train the model
      model.fit(train_texts, train_labels)
      
      # Make predictions on the test data
      predicted_labels = model.predict(test_texts)
      
      return list(predicted_labels)