input: Write a python function to split data into training and test sets.
  assert len(X_train) == 3 and len(X_test) == 1 and len(y_train) == 3 and len(y_test) == 1, "Test case 1 failed"
  assert len(X_train) == 75 and len(X_test) == 25 and len(y_train) == 75 and len(y_test) == 25, "Test case 2 failed"
output: def train_test_split(X, y, test_size=0.25):
      assert len(X) == len(y), "The length of X and y must be the same"
      indices = list(range(len(X)))
      test_count = int(len(X) * test_size)
      
      # Shuffle the indices
      import random
      random.shuffle(indices)
      
      test_indices = indices[:test_count]
      train_indices = indices[test_count:]
      
      X_train = [X[i] for i in train_indices]
      X_test = [X[i] for i in test_indices]
      y_train = [y[i] for i in train_indices]
      y_test = [y[i] for i in test_indices]
      
      return X_train, X_test, y_train, y_test