input: Write a python function to train and evaluate an SVM classifier on the digits dataset using sklearn. Assert the accuracy score and predicted classes.
  ```python
  assert train_and_evaluate_svm()[0] == 1.0
  assert train_and_evaluate_svm()[1].tolist() == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
output: from sklearn import datasets
  from sklearn.model_selection import train_test_split
  from sklearn.svm import SVC
  from sklearn.metrics import accuracy_score
  
  def train_and_evaluate_svm():
      digits = datasets.load_digits()
      X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.5, random_state=0)
      
      clf = SVC(gamma=0.001, C=100.)
      clf.fit(X_train, y_train)
      
      y_pred = clf.predict(X_test)
      
      accuracy = accuracy_score(y_test, y_pred)
      classes = sorted(set(y_pred))
      
      return accuracy, classes