@Override
  public String normalise(String text) {
    if (Objects.isNull(text) || text.isEmpty()) {
      throw new IllegalArgumentException("Text cannot be null or empty");
    }
    return text.trim()
        .toLowerCase()
        .replaceAll("\\p{Punct}", "")
        .replaceAll("\\s+", " ");
  }
@Description("Normalise, when text is empty, then throw IllegalArgumentException")
  @Test
  void normalise_WhenTextIsEmpty_ThenThrowIllegalArgumentException() {
    // When & Then
    assertThrows(IllegalArgumentException.class, () -> textNormaliser.normalise(""));
  }