Skip to content

Commit

Permalink
[Java] Make use of MutableInteger in ring buffer tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
mjpt777 committed Dec 7, 2020
1 parent 9a6090c commit 0beebb0
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 26 deletions.
Expand Up @@ -205,12 +205,12 @@ public void shouldNotReadSingleMessagePartWayThroughWriting()
when(buffer.getLong(HEAD_COUNTER_INDEX)).thenReturn(head);
when(buffer.getIntVolatile(lengthOffset(headIndex))).thenReturn(0);

final int[] times = new int[1];
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times[0]++;
final MutableInteger times = new MutableInteger();
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times.increment();
final int messagesRead = ringBuffer.read(handler);

assertThat(messagesRead, is(0));
assertThat(times[0], is(0));
assertThat(times.get(), is(0));

final InOrder inOrder = inOrder(buffer);
inOrder.verify(buffer, times(1)).getIntVolatile(lengthOffset(headIndex));
Expand All @@ -234,12 +234,12 @@ public void shouldReadTwoMessages()
when(buffer.getInt(typeOffset(headIndex + alignedRecordLength))).thenReturn(MSG_TYPE_ID);
when(buffer.getIntVolatile(lengthOffset(headIndex + alignedRecordLength))).thenReturn(recordLength);

final int[] times = new int[1];
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times[0]++;
final MutableInteger times = new MutableInteger();
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times.increment();
final int messagesRead = ringBuffer.read(handler);

assertThat(messagesRead, is(2));
assertThat(times[0], is(2));
assertThat(times.get(), is(2));

final InOrder inOrder = inOrder(buffer);
inOrder.verify(buffer, times(1)).setMemory(headIndex, alignedRecordLength * 2, (byte)0);
Expand All @@ -259,13 +259,13 @@ public void shouldLimitReadOfMessages()
when(buffer.getInt(typeOffset(headIndex))).thenReturn(MSG_TYPE_ID);
when(buffer.getIntVolatile(lengthOffset(headIndex))).thenReturn(recordLength);

final int[] times = new int[1];
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times[0]++;
final MutableInteger times = new MutableInteger();
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times.increment();
final int limit = 1;
final int messagesRead = ringBuffer.read(handler, limit);

assertThat(messagesRead, is(1));
assertThat(times[0], is(1));
assertThat(times.get(), is(1));

final InOrder inOrder = inOrder(buffer);
inOrder.verify(buffer, times(1)).setMemory(headIndex, alignedRecordLength, (byte)0);
Expand All @@ -288,12 +288,11 @@ public void shouldCopeWithExceptionFromHandler()
when(buffer.getInt(typeOffset(headIndex + alignedRecordLength))).thenReturn(MSG_TYPE_ID);
when(buffer.getIntVolatile(lengthOffset(headIndex + alignedRecordLength))).thenReturn(recordLength);

final int[] times = new int[1];
final MutableInteger times = new MutableInteger();
final MessageHandler handler =
(msgTypeId, buffer, index, length) ->
{
times[0]++;
if (times[0] == 2)
if (times.incrementAndGet() == 2)
{
throw new RuntimeException();
}
Expand All @@ -305,7 +304,7 @@ public void shouldCopeWithExceptionFromHandler()
}
catch (final RuntimeException ignore)
{
assertThat(times[0], is(2));
assertThat(times.get(), is(2));

final InOrder inOrder = inOrder(buffer);
inOrder.verify(buffer, times(1)).setMemory(headIndex, alignedRecordLength * 2, (byte)0);
Expand Down
Expand Up @@ -203,12 +203,12 @@ public void shouldNotReadSingleMessagePartWayThroughWriting()
when(buffer.getLong(HEAD_COUNTER_INDEX)).thenReturn(head);
when(buffer.getIntVolatile(lengthOffset(headIndex))).thenReturn(0);

final int[] times = new int[1];
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times[0]++;
final MutableInteger times = new MutableInteger();
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times.increment();
final int messagesRead = ringBuffer.read(handler);

assertThat(messagesRead, is(0));
assertThat(times[0], is(0));
assertThat(times.get(), is(0));

final InOrder inOrder = inOrder(buffer);
inOrder.verify(buffer, times(1)).getIntVolatile(lengthOffset(headIndex));
Expand All @@ -232,12 +232,12 @@ public void shouldReadTwoMessages()
when(buffer.getInt(typeOffset(headIndex + alignedRecordLength))).thenReturn(MSG_TYPE_ID);
when(buffer.getIntVolatile(lengthOffset(headIndex + alignedRecordLength))).thenReturn(recordLength);

final int[] times = new int[1];
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times[0]++;
final MutableInteger times = new MutableInteger();
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times.increment();
final int messagesRead = ringBuffer.read(handler);

assertThat(messagesRead, is(2));
assertThat(times[0], is(2));
assertThat(times.get(), is(2));

final InOrder inOrder = inOrder(buffer);
inOrder.verify(buffer, times(1)).putLongOrdered(HEAD_COUNTER_INDEX, tail);
Expand All @@ -257,13 +257,13 @@ public void shouldLimitReadOfMessages()
when(buffer.getInt(typeOffset(headIndex))).thenReturn(MSG_TYPE_ID);
when(buffer.getIntVolatile(lengthOffset(headIndex))).thenReturn(recordLength);

final int[] times = new int[1];
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times[0]++;
final MutableInteger times = new MutableInteger();
final MessageHandler handler = (msgTypeId, buffer, index, length) -> times.increment();
final int limit = 1;
final int messagesRead = ringBuffer.read(handler, limit);

assertThat(messagesRead, is(1));
assertThat(times[0], is(1));
assertThat(times.get(), is(1));

final InOrder inOrder = inOrder(buffer);
inOrder.verify(buffer, times(1)).putLongOrdered(HEAD_COUNTER_INDEX, head + alignedRecordLength);
Expand All @@ -286,12 +286,11 @@ public void shouldCopeWithExceptionFromHandler()
when(buffer.getInt(typeOffset(headIndex + alignedRecordLength))).thenReturn(MSG_TYPE_ID);
when(buffer.getIntVolatile(lengthOffset(headIndex + alignedRecordLength))).thenReturn(recordLength);

final int[] times = new int[1];
final MutableInteger times = new MutableInteger();
final MessageHandler handler =
(msgTypeId, buffer, index, length) ->
{
times[0]++;
if (times[0] == 2)
if (times.incrementAndGet() == 2)
{
throw new RuntimeException();
}
Expand All @@ -303,7 +302,7 @@ public void shouldCopeWithExceptionFromHandler()
}
catch (final RuntimeException ignore)
{
assertThat(times[0], is(2));
assertThat(times.get(), is(2));

final InOrder inOrder = inOrder(buffer);
inOrder.verify(buffer, times(1)).putLongOrdered(HEAD_COUNTER_INDEX, tail);
Expand Down

0 comments on commit 0beebb0

Please sign in to comment.