input: Write a python function to build and train a neural network using Keras that classifies numbers into categories based on given labels, and make predictions.
  assert len(build_and_train_model()[0]) == 10
  assert isinstance(build_and_train_model()[1], np.ndarray)
  assert len(build_and_train_model()[1][0]) == 3
output: def build_and_train_model():
      import numpy as np
      from keras.models import Sequential
      from keras.layers import Dense
      from keras.utils import to_categorical
      from sklearn.model_selection import train_test_split
      from sklearn.datasets import make_classification
  
      # Generating a dummy dataset
      X, y = make_classification(n_samples=1000, n_features=20, n_classes=3, n_clusters_per_class=1)
      y = to_categorical(y)
  
      # Splitting 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)
  
      # Building the model
      model = Sequential()
      model.add(Dense(64, input_dim=20, activation='relu'))
      model.add(Dense(32, activation='relu'))
      model.add(Dense(3, activation='softmax'))
  
      # Compiling the model
      model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
  
      # Training the model
      model.fit(X_train, y_train, epochs=10, batch_size=32, verbose=0)
  
      # Making predictions
      predictions = model.predict(X_test)
      
      return y_test, predictions