public void testResolveMixedACRRequest()
throws Exception {
List<ACR> acrValues = new ArrayList<>();
acrValues.add(new ACR("1"));
acrValues.add(new ACR("2"));
ClaimsRequest claims = new ClaimsRequest();
List<String> essentialACRs = new ArrayList<>();
essentialACRs.add("A");
essentialACRs.add("B");
claims.addIDTokenClaim("acr", ClaimRequirement.ESSENTIAL, null, essentialACRs);
AuthenticationRequest authRequest = new AuthenticationRequest.Builder(
new ResponseType("code"),
new Scope("openid", "profile"),
new ClientID("123"),
new URI("https://example.com/in")).
acrValues(acrValues).
claims(claims).
build();
ACRRequest acrRequest = ACRRequest.resolve(authRequest);
assertTrue(acrRequest.getEssentialACRs().contains(new ACR("A")));
assertTrue(acrRequest.getEssentialACRs().contains(new ACR("B")));
assertEquals(2, acrRequest.getEssentialACRs().size());
assertTrue(acrRequest.getVoluntaryACRs().contains(new ACR("1")));
assertTrue(acrRequest.getVoluntaryACRs().contains(new ACR("2")));
assertEquals(2, acrRequest.getVoluntaryACRs().size());
assertFalse(acrRequest.isEmpty());
}