input: Write a python function to perform train-test split and fit a Gaussian Naive Bayes model.
  assert isinstance(split_and_train(X, y)[0], GaussianNB)
  assert len(split_and_train(X, y)[1]) > 0
  assert len(split_and_train(X, y)[2]) > 0
output: def split_and_train(X, y):
      from sklearn.model_selection import train_test_split
      from sklearn.naive_bayes import GaussianNB
      
      # Split the dataset into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
      
      # Initialize the Gaussian Naive Bayes model
      model = GaussianNB()
      
      # Fit the model on the training data
      model.fit(X_train, y_train)
      
      return model, X_test, y_test