kirklund commented on a change in pull request #6179:
URL: https://github.com/apache/geode/pull/6179#discussion_r601755111
##########
File path:
geode-core/src/test/java/org/apache/geode/internal/offheap/ReferenceCountHelperImplTest.java
##########
@@ -12,976 +12,966 @@
* or implied. See the License for the specific language governing permissions
and limitations under
* the License.
*/
-
package org.apache.geode.internal.offheap;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.apache.geode.util.internal.UncheckedUtils.uncheckedCast;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.BiConsumer;
-import org.junit.Rule;
+import org.junit.Before;
import org.junit.Test;
-import org.junit.contrib.java.lang.system.SystemOutRule;
-import org.junit.runner.RunWith;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
import org.apache.geode.internal.cache.RegionEntry;
-/*
- * PowerMock used in this test to verify static method
MemoryAllocatorImpl.debugLog
- */
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore({"*.UnitTest"})
-@PrepareForTest({MemoryAllocatorImpl.class})
public class ReferenceCountHelperImplTest {
- ReferenceCountHelperImpl rchi;
+ private BiConsumer<String, Boolean> debugLogger;
- @Rule
- public SystemOutRule sor = new SystemOutRule();
+ @Before
+ public void setUp() {
+ debugLogger = uncheckedCast(mock(BiConsumer.class));
+ }
@Test
public void doTrackReferenceCountsWithTrackRefsTrueAndTrackFreesTrue() {
- rchi = getTrueTrue();
- assertTrue(rchi.trackReferenceCounts());
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_TrueTrue();
+ assertThat(referenceCountHelperImpl.trackReferenceCounts()).isTrue();
}
@Test
public void doTrackReferenceCountsWithTrackRefsTrueAndTrackFreesFalse() {
- rchi = getTrueFalse();
- assertTrue(rchi.trackReferenceCounts());
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_TrueFalse();
+ assertThat(referenceCountHelperImpl.trackReferenceCounts()).isTrue();
}
@Test
public void doTrackReferenceCountsWithTrackRefsFalseAndTrackFreesTrue() {
- rchi = getFalseTrue();
- assertFalse(rchi.trackReferenceCounts());
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_FalseTrue();
+ assertThat(referenceCountHelperImpl.trackReferenceCounts()).isFalse();
}
@Test
public void doTrackReferenceCountsWithTrackRefsFalseAndTrackFreesFalse() {
- rchi = getFalseFalse();
- assertFalse(rchi.trackReferenceCounts());
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_FalseFalse();
+ assertThat(referenceCountHelperImpl.trackReferenceCounts()).isFalse();
}
@Test
public void doTrackFreedReferenceCountsWithTrackRefsTrueAndTrackFreesTrue() {
- rchi = getTrueTrue();
- assertTrue(rchi.trackFreedReferenceCounts());
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_TrueTrue();
+ assertThat(referenceCountHelperImpl.trackFreedReferenceCounts()).isTrue();
}
@Test
public void doTrackFreedReferenceCountsWithTrackRefsTrueAndTrackFreesFalse()
{
- rchi = getTrueFalse();
- assertFalse(rchi.trackFreedReferenceCounts());
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_TrueFalse();
+ assertThat(referenceCountHelperImpl.trackFreedReferenceCounts()).isFalse();
}
@Test
public void doTrackFreedReferenceCountsWithTrackRefsFalseAndTrackFreesTrue()
{
- rchi = getFalseTrue();
- assertTrue(rchi.trackFreedReferenceCounts());
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_FalseTrue();
+ assertThat(referenceCountHelperImpl.trackFreedReferenceCounts()).isTrue();
}
@Test
public void
doTrackFreedReferenceCountsWithTrackRefsFalseAndTrackFreesFalse() {
- rchi = getFalseFalse();
- assertFalse(rchi.trackFreedReferenceCounts());
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_FalseFalse();
+ assertThat(referenceCountHelperImpl.trackFreedReferenceCounts()).isFalse();
}
@Test
public void doSkipRefCountTrackingWithTrackRefsTrueAndTrackFreesTrue() {
- rchi = getTrueTrue();
- Object preOwner = rchi.getReferenceCountOwner();
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_TrueTrue();
- rchi.skipRefCountTracking();
- Object postOwner = rchi.getReferenceCountOwner();
+ Object preOwner = referenceCountHelperImpl.getReferenceCountOwner();
+ referenceCountHelperImpl.skipRefCountTracking();
+ Object postOwner = referenceCountHelperImpl.getReferenceCountOwner();
- assertTrue(postOwner != preOwner); // skip sets owner to
SKIP_REF_COUNT_TRACKING
-
- assertFalse(rchi.isRefCountTracking());
+ // skip sets owner to SKIP_REF_COUNT_TRACKING
+ assertThat(postOwner).isNotEqualTo(preOwner);
+ assertThat(referenceCountHelperImpl.isRefCountTracking()).isFalse();
Long address = (long) 0x1000;
- boolean decRefCount = false;
- int rc = 1;
- rchi.refCountChanged(address, decRefCount, rc);
- List<RefCountChangeInfo> list = rchi.peekRefCountInfo(address);
- assertEquals(null, list);
+ referenceCountHelperImpl.refCountChanged(address, false, 1);
+ List<RefCountChangeInfo> list =
referenceCountHelperImpl.peekRefCountInfo(address);
+ assertThat(list).isNull();
- rchi.unskipRefCountTracking();
- postOwner = rchi.getReferenceCountOwner();
- assertEquals(postOwner, preOwner);
+ referenceCountHelperImpl.unskipRefCountTracking();
+ postOwner = referenceCountHelperImpl.getReferenceCountOwner();
- assertTrue(rchi.isRefCountTracking());
+ assertThat(preOwner).isEqualTo(postOwner);
+ assertThat(referenceCountHelperImpl.isRefCountTracking()).isTrue();
}
@Test
public void doSkipRefCountTrackingWithTrackRefsFalseAndTrackFreesTrue() {
- rchi = getFalseTrue();
- Object preOwner = rchi.getReferenceCountOwner();
- assertEquals(null, preOwner); // getReferenceCountOwner returns null if
not tracking
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_FalseTrue();
+ Object preOwner = referenceCountHelperImpl.getReferenceCountOwner();
+ // getReferenceCountOwner returns null if not tracking
+ assertThat(preOwner).isNull();
- rchi.skipRefCountTracking();
- assertFalse(rchi.isRefCountTracking());
+ referenceCountHelperImpl.skipRefCountTracking();
+ assertThat(referenceCountHelperImpl.isRefCountTracking()).isFalse();
- rchi.unskipRefCountTracking();
- assertFalse(rchi.isRefCountTracking()); // system prop not set
+ referenceCountHelperImpl.unskipRefCountTracking();
+ assertThat(referenceCountHelperImpl.isRefCountTracking()).isFalse(); //
system prop not set
}
@Test
public void doSkipRefCountTrackingWithTrackRefsFalseAndTrackFreesFalse() {
- rchi = getFalseFalse();
- Object preOwner = rchi.getReferenceCountOwner();
- assertEquals(null, preOwner); // getReferenceCountOwner returns null if
not tracking
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_FalseFalse();
+ Object preOwner = referenceCountHelperImpl.getReferenceCountOwner();
+ // getReferenceCountOwner returns null if not tracking
+ assertThat(preOwner).isNull();
- rchi.skipRefCountTracking();
- assertFalse(rchi.isRefCountTracking());
+ referenceCountHelperImpl.skipRefCountTracking();
+ assertThat(referenceCountHelperImpl.isRefCountTracking()).isFalse();
- rchi.unskipRefCountTracking();
- assertFalse(rchi.isRefCountTracking()); // system prop not set
+ referenceCountHelperImpl.unskipRefCountTracking();
+ // system prop not set
+ assertThat(referenceCountHelperImpl.isRefCountTracking()).isFalse();
}
@Test
public void doSkipRefCountTrackingWithTrackRefsTrueAndTrackFreesFalse() {
- rchi = getTrueFalse();
- Object preOwner = rchi.getReferenceCountOwner();
-
- rchi.skipRefCountTracking();
- Object postOwner = rchi.getReferenceCountOwner();
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_TrueFalse();
- assertTrue(postOwner != preOwner); // skip sets owner to
SKIP_REF_COUNT_TRACKING
+ Object preOwner = referenceCountHelperImpl.getReferenceCountOwner();
+ referenceCountHelperImpl.skipRefCountTracking();
+ Object postOwner = referenceCountHelperImpl.getReferenceCountOwner();
+ // skip sets owner to SKIP_REF_COUNT_TRACKING
+ assertThat(postOwner).isNotEqualTo(preOwner);
+ assertThat(referenceCountHelperImpl.isRefCountTracking()).isFalse();
- assertFalse(rchi.isRefCountTracking());
-
- rchi.unskipRefCountTracking();
- postOwner = rchi.getReferenceCountOwner();
- assertEquals(postOwner, preOwner);
-
- assertTrue(rchi.isRefCountTracking());
+ referenceCountHelperImpl.unskipRefCountTracking();
+ postOwner = referenceCountHelperImpl.getReferenceCountOwner();
+ assertThat(preOwner).isEqualTo(postOwner);
+ assertThat(referenceCountHelperImpl.isRefCountTracking()).isTrue();
}
@Test
public void doSetReferenceCountOwnerWithTrackRefsTrueAndTrackFreesTrue() {
- rchi = getTrueTrue();
+ ReferenceCountHelperImpl referenceCountHelperImpl =
newReferenceCountHelperImpl_TrueTrue();
String owner = null;
- rchi.setReferenceCountOwner(owner);
- AtomicInteger ai = rchi.getReenterCount();
- assertEquals(0, ai.get());
-
- owner = new String("SomeOwner");
- rchi.setReferenceCountOwner(owner);
- ai = rchi.getReenterCount();
- assertEquals(1, ai.get());
- assertEquals(rchi.getReferenceCountOwner(), owner);
-
- String owner2 = new String("SomeOwner2");
- rchi.setReferenceCountOwner(owner2);
- ai = rchi.getReenterCount();
- assertEquals(2, ai.get());
- assertTrue(rchi.getReferenceCountOwner() != owner2); // stays original
owner until cnt = 0
+ referenceCountHelperImpl.setReferenceCountOwner(owner);
+ AtomicInteger reenterCount = referenceCountHelperImpl.getReenterCount();
+ assertThat(reenterCount.get()).isZero();
+
+ owner = "SomeOwner";
+ referenceCountHelperImpl.setReferenceCountOwner(owner);
+ reenterCount = referenceCountHelperImpl.getReenterCount();
+ assertThat(reenterCount.get()).isOne();
+
assertThat(referenceCountHelperImpl.getReferenceCountOwner()).isEqualTo(owner);
+
+ String owner2 = "SomeOwner2";
+ referenceCountHelperImpl.setReferenceCountOwner(owner2);
+ reenterCount = referenceCountHelperImpl.getReenterCount();
+ assertThat(reenterCount.get()).isEqualTo(2);
+ // stays original owner until cnt = 0
+
assertThat(referenceCountHelperImpl.getReferenceCountOwner()).isNotEqualTo(owner2);
String owner3 = null;
- rchi.setReferenceCountOwner(owner3);
- ai = rchi.getReenterCount();
- assertEquals(1, ai.get());
- assertEquals(rchi.getReferenceCountOwner(), owner);
+ referenceCountHelperImpl.setReferenceCountOwner(owner3);
+ reenterCount = referenceCountHelperImpl.getReenterCount();
+ assertThat(reenterCount.get()).isOne();
+
assertThat(referenceCountHelperImpl.getReferenceCountOwner()).isEqualTo(owner);
owner = null;
- rchi.setReferenceCountOwner(owner);
- ai = rchi.getReenterCount();
- assertEquals(0, ai.get());
- assertEquals(rchi.getReferenceCountOwner(), null);
+ referenceCountHelperImpl.setReferenceCountOwner(owner);
+ reenterCount = referenceCountHelperImpl.getReenterCount();
+ assertThat(reenterCount.get()).isZero();
+ assertThat(referenceCountHelperImpl.getReferenceCountOwner()).isNull();
- RegionEntry re = mock(RegionEntry.class);
- rchi.setReferenceCountOwner(re);
- ai = rchi.getReenterCount();
- assertEquals(1, ai.get());
- assertEquals(rchi.getReferenceCountOwner(), re);
+ RegionEntry regionEntry = mock(RegionEntry.class);
+ referenceCountHelperImpl.setReferenceCountOwner(regionEntry);
+ reenterCount = referenceCountHelperImpl.getReenterCount();
+ assertThat(reenterCount.get()).isOne();
+
assertThat(regionEntry).isEqualTo(referenceCountHelperImpl.getReferenceCountOwner());
Long address = (long) 0x1000;
Review comment:
It's too difficult to explain why I left it as `Long` so I'll just make
the change. This change will cause the test to take slightly longer to run
because it will change a `long` back to `Long` for use as a key in a map.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]