### Question:
AuthorisationMethodDecider { public boolean isImplicitMethod(boolean tppExplicitAuthorisationPreferred, boolean multilevelScaRequired) { return !isExplicitMethod(tppExplicitAuthorisationPreferred, multilevelScaRequired); }  boolean isExplicitMethod(boolean tppExplicitAuthorisationPreferred, boolean multilevelScaRequired); boolean isImplicitMethod(boolean tppExplicitAuthorisationPreferred, boolean multilevelScaRequired); boolean isSigningBasketModeActive(boolean tppExplicitAuthorisationPreferred);  }### Answer:
@Test void isImplicitMethod_Fail_Multilevel_TppExplicitPreferredTrue_SigningBasketTrue() { boolean multilevelScaRequired = true; boolean tppExplicitAuthorisationPreferred = true; when(aspspProfileService.getStartAuthorisationMode()).thenReturn(StartAuthorisationMode.AUTO); boolean actualResult = authorisationMethodDecider.isImplicitMethod(tppExplicitAuthorisationPreferred, multilevelScaRequired); assertFalse(actualResult); }
@Test void isImplicitMethod_Fail_Multilevel_TppExplicitPreferredFalse_SigningBasketTrue() { boolean multilevelScaRequired = true; boolean tppExplicitAuthorisationPreferred = false; when(aspspProfileService.getStartAuthorisationMode()).thenReturn(StartAuthorisationMode.AUTO); boolean actualResult = authorisationMethodDecider.isImplicitMethod(tppExplicitAuthorisationPreferred, multilevelScaRequired); assertFalse(actualResult); }
@Test void isImplicitMethod_Fail_Multilevel_TppExplicitPreferredTrue_SigningBasketFalse() { boolean multilevelScaRequired = true; boolean tppExplicitAuthorisationPreferred = true; when(aspspProfileService.getStartAuthorisationMode()).thenReturn(StartAuthorisationMode.AUTO); boolean actualResult = authorisationMethodDecider.isImplicitMethod(tppExplicitAuthorisationPreferred, multilevelScaRequired); assertFalse(actualResult); }
@Test void isImplicitMethod_Fail_Multilevel_TppExplicitPreferredFalse_SigningBasketFalse() { boolean multilevelScaRequired = true; boolean tppExplicitAuthorisationPreferred = false; when(aspspProfileService.getStartAuthorisationMode()).thenReturn(StartAuthorisationMode.AUTO); boolean actualResult = authorisationMethodDecider.isImplicitMethod(tppExplicitAuthorisationPreferred, multilevelScaRequired); assertFalse(actualResult); }
@Test void isImplicitMethod_Fail_TppExplicitPreferredTrue_SigningBasketTrue() { boolean multilevelScaRequired = false; boolean tppExplicitAuthorisationPreferred = true; when(aspspProfileService.getStartAuthorisationMode()).thenReturn(StartAuthorisationMode.AUTO); when(aspspProfileService.isSigningBasketSupported()).thenReturn(true); boolean actualResult = authorisationMethodDecider.isImplicitMethod(tppExplicitAuthorisationPreferred, multilevelScaRequired); assertFalse(actualResult); }
@Test void isImplicitMethod_Success_TppExplicitPreferredFalse_SigningBasketTrue() { boolean multilevelScaRequired = false; boolean tppExplicitAuthorisationPreferred = false; when(aspspProfileService.getStartAuthorisationMode()).thenReturn(StartAuthorisationMode.AUTO); boolean actualResult = authorisationMethodDecider.isImplicitMethod(tppExplicitAuthorisationPreferred, multilevelScaRequired); assertTrue(actualResult); }
@Test void isImplicitMethod_Success_TppExplicitPreferredTrue_SigningBasketFalse() { boolean multilevelScaRequired = false; boolean tppExplicitAuthorisationPreferred = true; when(aspspProfileService.getStartAuthorisationMode()).thenReturn(StartAuthorisationMode.AUTO); boolean actualResult = authorisationMethodDecider.isImplicitMethod(tppExplicitAuthorisationPreferred, multilevelScaRequired); assertTrue(actualResult); }