import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import java.util.concurrent.atomic.AtomicInteger;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
/**
* Variable used in next multiple test cases.
*/
- volatile int call_counter;
+ volatile AtomicInteger call_counter;
/**
* Check manager ability to stop tracing process.
// firstly start process
startTracing_success();
- call_counter = 0;
+ call_counter = new AtomicInteger(0);
// setup answer on stop signal that finalizes tracing context
Answer<Boolean> finalizeContext = new Answer<Boolean>() {
@Override
public Boolean answer(InvocationOnMock invocation) throws Throwable {
- call_counter++;
+ call_counter.incrementAndGet();
ctx1.finishContext(100500);
return true;
}
// check result
assertEquals(ErrorCode.SUCCESS.getErrorNumber(), result.getErrorNumber());
- assertEquals(1, call_counter);
+ assertEquals(1, call_counter.get());
}
/**
// firstly start process
startTracing_success();
- call_counter = 0;
+ call_counter = new AtomicInteger(0);
// answer that will return stop failure signal (false)
Answer<Boolean> failAnswer = new Answer<Boolean>() {
public Boolean answer(InvocationOnMock invocation) throws Throwable {
assertEquals(BASE_TIMEOUT_MS, invocation.getArgumentAt(0, Long.class).longValue());
Thread.sleep(BASE_TIMEOUT_MS);
- call_counter++;
+ call_counter.incrementAndGet();
return false;
}
};
Answer<Object> timeoutAnswer = new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
- call_counter++;
+ call_counter.incrementAndGet();
Thread.sleep(3*BASE_TIMEOUT_MS);
return null;
}
assertEquals(ErrorCode.ERR_EXCEPTION_OCCURRED.getErrorNumber(), result.getErrorNumber());
// check that only one stop call was used
- assertEquals(1, call_counter);
+ assertEquals(1, call_counter.get());
// check that force stop tracing was requested
verify(mgr1).forceStopTracing();