### Question:
ConnectionStringBuilder { public static ConnectionStringBuilder createWithAadApplicationCredentials(String resourceUri, String applicationClientId, String applicationKey, String authorityId) { if (StringUtils.isEmpty(resourceUri)) { throw new IllegalArgumentException("resourceUri cannot be null or empty"); } if (StringUtils.isEmpty(applicationClientId)) { throw new IllegalArgumentException("applicationClientId cannot be null or empty"); } if (StringUtils.isEmpty(applicationKey)) { throw new IllegalArgumentException("applicationKey cannot be null or empty"); } ConnectionStringBuilder csb = new ConnectionStringBuilder(resourceUri); csb.applicationClientId = applicationClientId; csb.applicationKey = applicationKey; csb.aadAuthorityId = authorityId; return csb; } private  ConnectionStringBuilder(String resourceUri); String getClusterUrl(); void setApplicationNameForTracing(String applicationNameForTracing); void setClientVersionForTracing(String clientVersionForTracing); Callable<String> getTokenProvider(); static ConnectionStringBuilder createWithAadUserCredentials(String resourceUri,
                                                                       String username,
                                                                       String password,
                                                                       String authorityId); static ConnectionStringBuilder createWithAadUserCredentials(String resourceUri,
                                                                       String username,
                                                                       String password); static ConnectionStringBuilder createWithAadApplicationCredentials(String resourceUri,
                                                                              String applicationClientId,
                                                                              String applicationKey,
                                                                              String authorityId); static ConnectionStringBuilder createWithAadApplicationCredentials(String resourceUri,
                                                                              String applicationClientId,
                                                                              String applicationKey); static ConnectionStringBuilder createWithDeviceCodeCredentials(String resourceUri, String authorityId); static ConnectionStringBuilder createWithDeviceCodeCredentials(String resourceUri); static ConnectionStringBuilder createWithAadApplicationCertificate(String resourceUri,
                                                                              String applicationClientId,
                                                                              X509Certificate x509Certificate,
                                                                              PrivateKey privateKey); static ConnectionStringBuilder createWithAadApplicationCertificate(String resourceUri,
                                                                              String applicationClientId,
                                                                              X509Certificate x509Certificate,
                                                                              PrivateKey privateKey,
                                                                              String authorityId); static ConnectionStringBuilder createWithAadAccessTokenAuthentication(String resourceUri, String token); static ConnectionStringBuilder createWithAadTokenProviderAuthentication(String resourceUri, Callable<String> tokenProviderCallable);  }### Answer:
@Test @DisplayName("validate createWithAadApplicationCredentials throws IllegalArgumentException exception when missing or invalid parameters") void createWithAadApplicationCredentials(){ Assertions.assertThrows(IllegalArgumentException.class, () -> ConnectionStringBuilder .createWithAadApplicationCredentials("resource.uri", null, "appKey")); Assertions.assertThrows(IllegalArgumentException.class, () -> ConnectionStringBuilder .createWithAadApplicationCredentials("resource.uri", "", "appKey")); Assertions.assertThrows(IllegalArgumentException.class, () -> ConnectionStringBuilder .createWithAadApplicationCredentials("resource.uri", "appId", null)); Assertions.assertThrows(IllegalArgumentException.class, () -> ConnectionStringBuilder .createWithAadApplicationCredentials("resource.uri", "appId", "")); Assertions.assertThrows(IllegalArgumentException.class, () -> ConnectionStringBuilder .createWithAadApplicationCredentials(null, "appId", "appKey")); Assertions.assertThrows(IllegalArgumentException.class, () -> ConnectionStringBuilder .createWithAadApplicationCredentials("", "appId", "appKey")); }