package org.societies.useragent.conflict.test; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.UUID; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.societies.api.internal.personalisation.model.IOutcome; import org.societies.api.internal.useragent.conflict.ConflictResolutionRule; import org.societies.useragent.conflict.EnsembleConflictResolutionRule; import org.societies.useragent.conflict.EnsembleConflictResolutionRule.Operator; public class EnsembleConflictResolutionRuleORMockitoTest { private IOutcome intent; private IOutcome preference; private ConflictResolutionRule mock$1; private ConflictResolutionRule mock$2; private EnsembleConflictResolutionRule classUnderTest; @Before public void setUp() { // creat mocked class mock$1 = mock(ConflictResolutionRule.class); mock$2 = mock(ConflictResolutionRule.class); intent=mock(IOutcome.class); preference=mock(IOutcome.class); // creat an instance of your tested class // set mock class to the test class classUnderTest = new EnsembleConflictResolutionRule(mock$1,mock$2, Operator.OR); } @Test public void collaborationCallTest() { // set mock class Behavior String trtr=UUID.randomUUID().toString(); when(intent.getvalue()).thenReturn(trtr); when(preference.getvalue()).thenReturn(UUID.randomUUID().toString()); when(mock$1.match(intent, preference)).thenReturn(true); when(mock$2.match(intent, preference)).thenReturn(false); // call the method of your class under test classUnderTest.match(intent, preference); // then check whether the mock call has been as expected verify(mock$1).match(intent, preference); // verify(mock$2).match(intent, preference); } @After public void tearDown(){ intent=null; preference=null; mock$1 = null; mock$2 = null; classUnderTest = null; } }