public void prepare() {
Mockito.reset(repository);
// two default and dynamically registerable scopes
defaultDynScope1 = new SystemScope(defaultDynScope1String);
defaultDynScope2 = new SystemScope(defaultDynScope2String);
defaultDynScope1.setAllowDynReg(true);
defaultDynScope2.setAllowDynReg(true);
defaultDynScope1.setDefaultScope(true);
defaultDynScope2.setDefaultScope(true);
// two strictly default scopes (isAllowDynReg false)
defaultScope1 = new SystemScope(defaultScope1String);
defaultScope2 = new SystemScope(defaultScope2String);
defaultScope1.setDefaultScope(true);
defaultScope2.setDefaultScope(true);
// one strictly dynamically registerable scope (isDefault false)
dynScope1 = new SystemScope(dynScope1String);
dynScope1.setAllowDynReg(true);
// extraScope1 : extra scope that is neither (defaults to false/false)
extraScope1 = new SystemScope(extraScope1String);
// structuredScope1 : structured scope
structuredScope1 = new SystemScope(structuredScope1String);
structuredScope1.setStructured(true);
// structuredScope1Value : structured scope with value
structuredScope1Value = new SystemScope(structuredScope1String);
structuredScope1Value.setStructured(true);
structuredScope1Value.setStructuredValue(structuredValue);
allScopes = Sets.newHashSet(defaultDynScope1, defaultDynScope2, defaultScope1, defaultScope2, dynScope1, extraScope1, structuredScope1, structuredScope1Value);
allScopeStrings = Sets.newHashSet(defaultDynScope1String, defaultDynScope2String, defaultScope1String, defaultScope2String, dynScope1String, extraScope1String, structuredScope1String, structuredScope1String + ":" + structuredValue);
Mockito.when(repository.getByValue(defaultDynScope1String)).thenReturn(defaultDynScope1);
Mockito.when(repository.getByValue(defaultDynScope2String)).thenReturn(defaultDynScope2);
Mockito.when(repository.getByValue(defaultScope1String)).thenReturn(defaultScope1);
Mockito.when(repository.getByValue(defaultScope2String)).thenReturn(defaultScope2);
Mockito.when(repository.getByValue(dynScope1String)).thenReturn(dynScope1);
Mockito.when(repository.getByValue(extraScope1String)).thenReturn(extraScope1);
// we re-use this value so we've got to use thenAnswer instead
Mockito.when(repository.getByValue(structuredScope1String)).thenAnswer(new Answer<SystemScope>() {
@Override
public SystemScope answer(InvocationOnMock invocation) throws Throwable {
SystemScope s = new SystemScope(structuredScope1String);
s.setStructured(true);
return s;
}
});