input: Write a function to evaluate the accuracy of a machine-learning model using the sklearn library. The function should take the trained model, the training data (X_train, y_train), and the test data (X_test, y_test) as inputs, fit the model on the training data, predict on the test data, and return the accuracy of the model. If the accuracy is not calculated, return -1. If the input model or test data is empty, return -1.
  
  
  from sklearn.svm import SVC
  from sklearn.metrics import accuracy_score
  
  def evaluate_ml_model(clf, X_train, y_train, X_test, y_test):
      if not clf or not X_test or not y_test:
          return -1
      clf.fit(X_train, y_train)
      y_pred = clf.predict(X_test)
      accuracy = accuracy_score(y_test, y_pred)
      return accuracy
  
  clf = SVC(kernel='poly', degree=2, gamma=0.05)
  
  
  assert evaluate_ml_model(clf, [[1], [2], [3]], [0, 1, 1], [[1], [2]], [0, 1]) != -1
  assert evaluate_ml_model(None, [[1], [2], [3]], [0, 1, 1], [[1], [2]], [0, 1]) == -1
  assert evaluate_ml_model(clf, [[1], [2], [3]], [0, 1, 1], [], [0, 1]) == -1
output: def evaluate_ml_model(clf, X_train, y_train, X_test, y_test):
      if not clf or not X_test or not y_test:
          return -1
      clf.fit(X_train, y_train)
      y_pred = clf.predict(X_test)
      accuracy = accuracy_score(y_test, y_pred)
      return accuracy