input: Write a python function to create a decision tree classifier using the provided dataset and predict the price for a given test data.
  assert predict_price([[2, 'Small']]) == 12000
  assert predict_price([[4, 'Large']]) == 20000
  assert predict_price([[4, 'Small']]) == 18000
output: def predict_price(test_data):
      from sklearn.tree import DecisionTreeClassifier
      import pandas as pd
      
      # Create the dataset
      data = {
          'Rooms': [2, 3, 4, 5, 3, 4, 2, 5],
          'Size': ['Small', 'Large', 'Large', 'Large', 'Small', 'Small', 'Large', 'Small'],
          'Price': [12000, 15000, 20000, 25000, 17000, 18000, 14000, 23000]
      }
      
      df = pd.DataFrame(data)
      
      # Prepare the features and target
      X = df[['Rooms', 'Size']]
      y = df['Price']
      
      # Convert categorical data to numerical
      X = pd.get_dummies(X, columns=['Size'])
      
      # Train the decision tree classifier
      clf = DecisionTreeClassifier()
      clf.fit(X, y)
      
      # Prepare the test data
      test_df = pd.DataFrame(test_data, columns=['Rooms', 'Size'])
      test_df = pd.get_dummies(test_df, columns=['Size'])
      
      # Align the test data with the training data
      test_df = test_df.reindex(columns=X.columns, fill_value=0)
      
      # Predict the price
      predicted_price = clf.predict(test_df)
      return predicted_price[0]