diff --git a/pom.xml b/pom.xml
index bb0f87d3f..2c53d7373 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,7 +48,7 @@
net.openhft
lang
- 6.4.14-SNAPSHOT
+ 6.4.15-SNAPSHOT
diff --git a/src/main/java/net/openhft/chronicle/map/ChronicleMapBuilder.java b/src/main/java/net/openhft/chronicle/map/ChronicleMapBuilder.java
index ce4326803..e499fc74d 100755
--- a/src/main/java/net/openhft/chronicle/map/ChronicleMapBuilder.java
+++ b/src/main/java/net/openhft/chronicle/map/ChronicleMapBuilder.java
@@ -523,4 +523,12 @@ public final class ChronicleMapBuilder implements ChronicleMapBuilderI checkSerializedValues() {
+ throw new UnsupportedOperationException("Not implemented");
+ }
+
+ public ChronicleMapBuilder disableOversizedEntries(boolean disableOversizedEntries) {
+ // throw an exception rather than use oversized entries to test the size is as expected.
+ throw new UnsupportedOperationException("Not implemented");
+ }
}
diff --git a/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java b/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java
index 4cb7648fb..68affabf2 100644
--- a/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java
+++ b/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java
@@ -1,8 +1,8 @@
package net.openhft.chronicle.map;
+import net.openhft.lang.io.serialization.impl.*;
import net.openhft.lang.model.DataValueClasses;
import net.openhft.lang.values.*;
-import org.junit.Ignore;
import org.junit.Test;
import java.nio.ByteBuffer;
@@ -22,7 +22,6 @@ public class CHMUseCasesTest {
* variable length serialised.
*/
@Test
- @Ignore
public void testStringStringMap() throws ExecutionException, InterruptedException {
/* TODO run the same test for multiple types of map stores
for(ChronicleMapBuilder chmb : Arrays.asList(
@@ -35,7 +34,7 @@ public class CHMUseCasesTest {
*/
try (ChronicleMap map = ChronicleMapBuilder
.of(String.class, String.class)
-// TODO .checkSerializedValues()
+ .checkSerializedValues() // for testng purposes only
.create()) {
map.put("Hello", "World");
assertEquals("World", map.get("Hello"));
@@ -76,10 +75,10 @@ public class CHMUseCasesTest {
* serialised.
*/
@Test
- @Ignore
public void testCharSequenceCharSequenceMap() throws ExecutionException, InterruptedException {
try (ChronicleMap map = ChronicleMapBuilder
.of(CharSequence.class, CharSequence.class)
+ .checkSerializedValues() // for testng purposes only
.create()) {
map.put("Hello", "World");
StringBuilder key = new StringBuilder();
@@ -138,10 +137,10 @@ public class CHMUseCasesTest {
* StringValue represents any bean which contains a String Value
*/
@Test
- @Ignore
public void testStringValueStringValueMap() {
try (ChronicleMap map = ChronicleMapBuilder
.of(StringValue.class, StringValue.class)
+ .checkSerializedValues() // for testng purposes only
.create()) {
StringValue key1 = DataValueClasses.newDirectInstance(StringValue.class);
@@ -230,12 +229,11 @@ public class CHMUseCasesTest {
}
@Test
- @Ignore
public void testIntegerIntegerMap() throws ExecutionException, InterruptedException {
try (ChronicleMap map = ChronicleMapBuilder
.of(Integer.class, Integer.class)
.entrySize(8)
- // TODO .disableOversizedEntries(true) // disabled for testing purposes only.
+ .disableOversizedEntries(true) // disabled for testing purposes only.
.create()) {
Integer key1;
Integer key2;
@@ -290,12 +288,11 @@ public class CHMUseCasesTest {
}
@Test
- @Ignore
public void testLongLongMap() throws ExecutionException, InterruptedException {
try (ChronicleMap map = ChronicleMapBuilder
.of(Long.class, Long.class)
.entrySize(16)
- // TODO .disableOversizedEntries(true) // disabled for testing purposes only.
+ .disableOversizedEntries(true) // disabled for testing purposes only.
.create()) {
map.put(1L, 11L);
@@ -340,11 +337,10 @@ public class CHMUseCasesTest {
}
@Test
- @Ignore
public void testDoubleDoubleMap() throws ExecutionException, InterruptedException {
try (ChronicleMap map = ChronicleMapBuilder
.of(Double.class, Double.class)
- // TODO .disableOversizedEntries(true) // disabled for testing purposes only.
+ .disableOversizedEntries(true) // disabled for testing purposes only.
.entrySize(16)
.create()) {
@@ -390,11 +386,10 @@ public class CHMUseCasesTest {
}
@Test
- @Ignore
public void testByteArrayByteArrayMap() throws ExecutionException, InterruptedException {
try (ChronicleMap map = ChronicleMapBuilder
.of(byte[].class, byte[].class)
- // TODO .disableOversizedEntries(true) // disabled for testing purposes only.
+ .disableOversizedEntries(true) // disabled for testing purposes only.
.entrySize(12)
.create()) {
byte[] key1 = {1, 1, 1, 1};
@@ -441,11 +436,10 @@ public class CHMUseCasesTest {
}
@Test
- @Ignore
public void testByteBufferByteBufferMap() throws ExecutionException, InterruptedException {
try (ChronicleMap map = ChronicleMapBuilder
.of(ByteBuffer.class, ByteBuffer.class)
- // TODO .disableOversizedEntries(true) // disabled for testing purposes only.
+ .disableOversizedEntries(true) // disabled for testing purposes only.
.entrySize(12)
.create()) {
ByteBuffer key1 = ByteBuffer.wrap(new byte[]{1, 1, 1, 1});
@@ -465,6 +459,8 @@ public class CHMUseCasesTest {
return slice;
}
};
+
+ map.put(key1, value1);
assertBBEquals(ByteBuffer.wrap(new byte[]{11, 11}), map.mapForKey(key1, function));
assertEquals(null, map.mapForKey(key2, function));
@@ -479,6 +475,51 @@ public class CHMUseCasesTest {
assertBBEquals(ByteBuffer.wrap(new byte[]{12, 10, 11, 11}), map.get(key1));
+
+ map.put(key1, value1);
+ map.put(key2, value2);
+ ByteBuffer valueA = ByteBuffer.allocateDirect(8);
+ ByteBuffer valueB = ByteBuffer.allocate(8);
+ try (ReadContext rc = map.getUsingLocked(key1, valueA)) {
+ assertTrue(rc.present());
+ assertBBEquals(value1, valueA);
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, valueA)) {
+ assertTrue(rc.present());
+ assertBBEquals(value2, valueA);
+ }
+
+ try (ReadContext rc = map.getUsingLocked(key1, valueB)) {
+ assertTrue(rc.present());
+ assertBBEquals(value1, valueB);
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, valueB)) {
+ assertTrue(rc.present());
+ assertBBEquals(value2, valueB);
+ }
+
+
+ try (WriteContext wc = map.acquireUsingLocked(key1, valueA)) {
+ assertBBEquals(value1, valueA);
+ appendMode(valueA);
+ valueA.putInt(12345);
+ valueA.flip();
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key1, valueB)) {
+ assertBBEquals(value1, valueB);
+ appendMode(valueB);
+ valueB.putShort((short) 12345);
+ valueB.flip();
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, valueA)) {
+ assertTrue(rc.present());
+ ByteBuffer bb1 = ByteBuffer.allocate(8);
+ bb1.put(value1);
+ bb1.putInt(12345);
+ bb1.flip();
+ assertBBEquals(bb1, valueA);
+ }
+
ByteBuffer key3 = ByteBuffer.wrap(new byte[]{3, 3, 3, 3});
ByteBuffer value3 = ByteBuffer.wrap(new byte[]{4, 4, 4, 4});
@@ -489,12 +530,16 @@ public class CHMUseCasesTest {
}
}
+ private static void appendMode(ByteBuffer valueA) {
+ valueA.position(valueA.limit());
+ valueA.limit(valueA.capacity());
+ }
+
@Test
- @Ignore
public void testByteBufferDirectByteBufferMap() throws ExecutionException, InterruptedException {
try (ChronicleMap map = ChronicleMapBuilder
.of(ByteBuffer.class, ByteBuffer.class)
- // TODO .disableOversizedEntries(true) // disabled for testing purposes only.
+ .disableOversizedEntries(true) // disabled for testing purposes only.
.entrySize(12)
.create()) {
ByteBuffer key1 = ByteBuffer.wrap(new byte[]{1, 1, 1, 1});
@@ -552,788 +597,818 @@ public class CHMUseCasesTest {
}
@Test
- @Ignore
public void testIntValueIntValueMap() {
- ChronicleMap map = ChronicleMapBuilder.of(IntValue.class, IntValue.class).entrySize(8).create();
- IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
- IntValue key2 = DataValueClasses.newInstance(IntValue.class);
- IntValue value1 = DataValueClasses.newDirectInstance(IntValue.class);
- IntValue value2 = DataValueClasses.newInstance(IntValue.class);
+ try (ChronicleMap map = ChronicleMapBuilder
+ .of(IntValue.class, IntValue.class)
+ .disableOversizedEntries(true) // disabled for testing purposes only.
+ .entrySize(8)
+ .create()) {
+ IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
+ IntValue key2 = DataValueClasses.newInstance(IntValue.class);
+ IntValue value1 = DataValueClasses.newDirectInstance(IntValue.class);
+ IntValue value2 = DataValueClasses.newInstance(IntValue.class);
- key1.setValue(1);
- value1.setValue(11);
- map.put(key1, value1);
- assertEquals(value1, map.get(key1));
+ key1.setValue(1);
+ value1.setValue(11);
+ map.put(key1, value1);
+ assertEquals(value1, map.get(key1));
- key2.setValue(2);
- value2.setValue(22);
- map.put(key2, value2);
- assertEquals(value2, map.get(key2));
+ key2.setValue(2);
+ value2.setValue(22);
+ map.put(key2, value2);
+ assertEquals(value2, map.get(key2));
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(11, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value1)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value2)) {
- assertTrue(rc.present());
- assertEquals(11, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- key1.setValue(3);
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertFalse(rc.present());
- }
- key2.setValue(4);
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertFalse(rc.present());
- }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(11, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value1)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value2)) {
+ assertTrue(rc.present());
+ assertEquals(11, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ key1.setValue(3);
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertFalse(rc.present());
+ }
+ key2.setValue(4);
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertFalse(rc.present());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
- assertEquals(0, value1.getValue());
- value1.addValue(123);
- assertEquals(123, value1.getValue());
- }
- try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
- assertEquals(123, value2.getValue());
- value2.addValue(1230 - 123);
- assertEquals(1230, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(1230, value1.getValue());
- }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
+ assertEquals(0, value1.getValue());
+ value1.addValue(123);
+ assertEquals(123, value1.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
+ assertEquals(123, value2.getValue());
+ value2.addValue(1230 - 123);
+ assertEquals(1230, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value1.getValue());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
- assertEquals(0, value2.getValue());
- value2.addValue(123);
- assertEquals(123, value2.getValue());
+ try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
+ assertEquals(0, value2.getValue());
+ value2.addValue(123);
+ assertEquals(123, value2.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
+ assertEquals(123, value1.getValue());
+ value1.addValue(1230 - 123);
+ assertEquals(1230, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value2.getValue());
+ }
}
- try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
- assertEquals(123, value1.getValue());
- value1.addValue(1230 - 123);
- assertEquals(1230, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(1230, value2.getValue());
- }
- map.close();
}
/**
* For unsigned int -> unsigned int entries, the key can be on heap or off heap.
*/
@Test
- @Ignore
public void testUnsignedIntValueUnsignedIntValueMap() {
- ChronicleMap map = ChronicleMapBuilder.of(UnsignedIntValue.class, UnsignedIntValue.class).entrySize(8).create();
- UnsignedIntValue key1 = DataValueClasses.newDirectInstance(UnsignedIntValue.class);
- UnsignedIntValue key2 = DataValueClasses.newInstance(UnsignedIntValue.class);
- UnsignedIntValue value1 = DataValueClasses.newDirectInstance(UnsignedIntValue.class);
- UnsignedIntValue value2 = DataValueClasses.newInstance(UnsignedIntValue.class);
+ try (ChronicleMap map = ChronicleMapBuilder
+ .of(UnsignedIntValue.class, UnsignedIntValue.class)
+ .disableOversizedEntries(true) // disabled for testing purposes only.
+ .entrySize(8)
+ .create()) {
+ UnsignedIntValue key1 = DataValueClasses.newDirectInstance(UnsignedIntValue.class);
+ UnsignedIntValue key2 = DataValueClasses.newInstance(UnsignedIntValue.class);
+ UnsignedIntValue value1 = DataValueClasses.newDirectInstance(UnsignedIntValue.class);
+ UnsignedIntValue value2 = DataValueClasses.newInstance(UnsignedIntValue.class);
- key1.setValue(1);
- value1.setValue(11);
- map.put(key1, value1);
- assertEquals(value1, map.get(key1));
+ key1.setValue(1);
+ value1.setValue(11);
+ map.put(key1, value1);
+ assertEquals(value1, map.get(key1));
- key2.setValue(2);
- value2.setValue(22);
- map.put(key2, value2);
- assertEquals(value2, map.get(key2));
+ key2.setValue(2);
+ value2.setValue(22);
+ map.put(key2, value2);
+ assertEquals(value2, map.get(key2));
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(11, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value1)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value2)) {
- assertTrue(rc.present());
- assertEquals(11, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- key1.setValue(3);
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertFalse(rc.present());
- }
- key2.setValue(4);
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertFalse(rc.present());
- }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(11, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value1)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value2)) {
+ assertTrue(rc.present());
+ assertEquals(11, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ key1.setValue(3);
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertFalse(rc.present());
+ }
+ key2.setValue(4);
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertFalse(rc.present());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
- assertEquals(0, value1.getValue());
- value1.addValue(123);
- assertEquals(123, value1.getValue());
- }
- try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
- assertEquals(123, value2.getValue());
- value2.addValue(1230 - 123);
- assertEquals(1230, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(1230, value1.getValue());
- }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
+ assertEquals(0, value1.getValue());
+ value1.addValue(123);
+ assertEquals(123, value1.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
+ assertEquals(123, value2.getValue());
+ value2.addValue(1230 - 123);
+ assertEquals(1230, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value1.getValue());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
- assertEquals(0, value2.getValue());
- value2.addValue(123);
- assertEquals(123, value2.getValue());
+ try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
+ assertEquals(0, value2.getValue());
+ value2.addValue(123);
+ assertEquals(123, value2.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
+ assertEquals(123, value1.getValue());
+ value1.addValue(1230 - 123);
+ assertEquals(1230, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value2.getValue());
+ }
}
- try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
- assertEquals(123, value1.getValue());
- value1.addValue(1230 - 123);
- assertEquals(1230, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(1230, value2.getValue());
- }
- map.close();
}
/**
* For int values, the key can be on heap or off heap.
*/
@Test
- @Ignore
public void testIntValueShortValueMap() {
- ChronicleMap map = ChronicleMapBuilder.of(IntValue.class, ShortValue.class).entrySize(6).create();
- IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
- IntValue key2 = DataValueClasses.newInstance(IntValue.class);
- ShortValue value1 = DataValueClasses.newDirectInstance(ShortValue.class);
- ShortValue value2 = DataValueClasses.newInstance(ShortValue.class);
+ try (ChronicleMap map = ChronicleMapBuilder
+ .of(IntValue.class, ShortValue.class)
+ .disableOversizedEntries(true) // disabled for testing purposes only.
+ .entrySize(6)
+ .create()) {
- key1.setValue(1);
- value1.setValue((short) 11);
- map.put(key1, value1);
- assertEquals(value1, map.get(key1));
+ IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
+ IntValue key2 = DataValueClasses.newInstance(IntValue.class);
+ ShortValue value1 = DataValueClasses.newDirectInstance(ShortValue.class);
+ ShortValue value2 = DataValueClasses.newInstance(ShortValue.class);
- key2.setValue(2);
- value2.setValue((short) 22);
- map.put(key2, value2);
- assertEquals(value2, map.get(key2));
+ key1.setValue(1);
+ value1.setValue((short) 11);
+ map.put(key1, value1);
+ assertEquals(value1, map.get(key1));
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(11, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value1)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value2)) {
- assertTrue(rc.present());
- assertEquals(11, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- key1.setValue(3);
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertFalse(rc.present());
- }
- key2.setValue(4);
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertFalse(rc.present());
- }
+ key2.setValue(2);
+ value2.setValue((short) 22);
+ map.put(key2, value2);
+ assertEquals(value2, map.get(key2));
- try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
- assertEquals(0, value1.getValue());
- value1.addValue((short) 123);
- assertEquals(123, value1.getValue());
- }
- try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
- assertEquals(123, value2.getValue());
- value2.addValue((short) (1230 - 123));
- assertEquals(1230, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(1230, value1.getValue());
- }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(11, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value1)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value2)) {
+ assertTrue(rc.present());
+ assertEquals(11, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ key1.setValue(3);
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertFalse(rc.present());
+ }
+ key2.setValue(4);
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertFalse(rc.present());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
- assertEquals(0, value2.getValue());
- value2.addValue((short) 123);
- assertEquals(123, value2.getValue());
+ try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
+ assertEquals(0, value1.getValue());
+ value1.addValue((short) 123);
+ assertEquals(123, value1.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
+ assertEquals(123, value2.getValue());
+ value2.addValue((short) (1230 - 123));
+ assertEquals(1230, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value1.getValue());
+ }
+
+ try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
+ assertEquals(0, value2.getValue());
+ value2.addValue((short) 123);
+ assertEquals(123, value2.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
+ assertEquals(123, value1.getValue());
+ value1.addValue((short) (1230 - 123));
+ assertEquals(1230, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value2.getValue());
+ }
}
- try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
- assertEquals(123, value1.getValue());
- value1.addValue((short) (1230 - 123));
- assertEquals(1230, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(1230, value2.getValue());
- }
- map.close();
}
/**
* For int -> unsigned short values, the key can be on heap or off heap.
*/
@Test
- @Ignore
public void testIntValueUnsignedShortValueMap() {
- ChronicleMap map = ChronicleMapBuilder.of(IntValue.class, UnsignedShortValue.class).entrySize(6).create();
- IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
- IntValue key2 = DataValueClasses.newInstance(IntValue.class);
- UnsignedShortValue value1 = DataValueClasses.newDirectInstance(UnsignedShortValue.class);
- UnsignedShortValue value2 = DataValueClasses.newInstance(UnsignedShortValue.class);
+ try (ChronicleMap map = ChronicleMapBuilder
+ .of(IntValue.class, UnsignedShortValue.class)
+ .entrySize(6)
+ .disableOversizedEntries(true) // disabled for testing purposes only.
+ .create()) {
+ IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
+ IntValue key2 = DataValueClasses.newInstance(IntValue.class);
+ UnsignedShortValue value1 = DataValueClasses.newDirectInstance(UnsignedShortValue.class);
+ UnsignedShortValue value2 = DataValueClasses.newInstance(UnsignedShortValue.class);
- key1.setValue(1);
- value1.setValue(11);
- map.put(key1, value1);
- assertEquals(value1, map.get(key1));
+ key1.setValue(1);
+ value1.setValue(11);
+ map.put(key1, value1);
+ assertEquals(value1, map.get(key1));
- key2.setValue(2);
- value2.setValue(22);
- map.put(key2, value2);
- assertEquals(value2, map.get(key2));
+ key2.setValue(2);
+ value2.setValue(22);
+ map.put(key2, value2);
+ assertEquals(value2, map.get(key2));
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(11, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value1)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value2)) {
- assertTrue(rc.present());
- assertEquals(11, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- key1.setValue(3);
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertFalse(rc.present());
- }
- key2.setValue(4);
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertFalse(rc.present());
- }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(11, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value1)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value2)) {
+ assertTrue(rc.present());
+ assertEquals(11, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ key1.setValue(3);
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertFalse(rc.present());
+ }
+ key2.setValue(4);
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertFalse(rc.present());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
- assertEquals(0, value1.getValue());
- value1.addValue(123);
- assertEquals(123, value1.getValue());
- }
- try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
- assertEquals(123, value2.getValue());
- value2.addValue(1230 - 123);
- assertEquals(1230, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(1230, value1.getValue());
- }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
+ assertEquals(0, value1.getValue());
+ value1.addValue(123);
+ assertEquals(123, value1.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
+ assertEquals(123, value2.getValue());
+ value2.addValue(1230 - 123);
+ assertEquals(1230, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value1.getValue());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
- assertEquals(0, value2.getValue());
- value2.addValue(123);
- assertEquals(123, value2.getValue());
+ try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
+ assertEquals(0, value2.getValue());
+ value2.addValue(123);
+ assertEquals(123, value2.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
+ assertEquals(123, value1.getValue());
+ value1.addValue(1230 - 123);
+ assertEquals(1230, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value2.getValue());
+ }
}
- try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
- assertEquals(123, value1.getValue());
- value1.addValue(1230 - 123);
- assertEquals(1230, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(1230, value2.getValue());
- }
- map.close();
}
/**
* For int values, the key can be on heap or off heap.
*/
@Test
- @Ignore
public void testIntValueCharValueMap() {
- ChronicleMap map = ChronicleMapBuilder.of(IntValue.class, CharValue.class).entrySize(6).create();
- IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
- IntValue key2 = DataValueClasses.newInstance(IntValue.class);
- CharValue value1 = DataValueClasses.newDirectInstance(CharValue.class);
- CharValue value2 = DataValueClasses.newInstance(CharValue.class);
+ try (ChronicleMap map = ChronicleMapBuilder
+ .of(IntValue.class, CharValue.class)
+ .disableOversizedEntries(true) // disabled for testing purposes only.
+ .entrySize(6)
+ .create()) {
+ IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
+ IntValue key2 = DataValueClasses.newInstance(IntValue.class);
+ CharValue value1 = DataValueClasses.newDirectInstance(CharValue.class);
+ CharValue value2 = DataValueClasses.newInstance(CharValue.class);
- key1.setValue(1);
- value1.setValue((char) 11);
- map.put(key1, value1);
- assertEquals(value1, map.get(key1));
+ key1.setValue(1);
+ value1.setValue((char) 11);
+ map.put(key1, value1);
+ assertEquals(value1, map.get(key1));
- key2.setValue(2);
- value2.setValue((char) 22);
- map.put(key2, value2);
- assertEquals(value2, map.get(key2));
+ key2.setValue(2);
+ value2.setValue((char) 22);
+ map.put(key2, value2);
+ assertEquals(value2, map.get(key2));
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(11, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value1)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value2)) {
- assertTrue(rc.present());
- assertEquals(11, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- key1.setValue(3);
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertFalse(rc.present());
- }
- key2.setValue(4);
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertFalse(rc.present());
- }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(11, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value1)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value2)) {
+ assertTrue(rc.present());
+ assertEquals(11, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ key1.setValue(3);
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertFalse(rc.present());
+ }
+ key2.setValue(4);
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertFalse(rc.present());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
- assertEquals('\0', value1.getValue());
- value1.setValue('@');
- assertEquals('@', value1.getValue());
- }
- try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
- assertEquals('@', value2.getValue());
- value2.setValue('#');
- assertEquals('#', value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals('#', value1.getValue());
- }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
+ assertEquals('\0', value1.getValue());
+ value1.setValue('@');
+ assertEquals('@', value1.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
+ assertEquals('@', value2.getValue());
+ value2.setValue('#');
+ assertEquals('#', value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals('#', value1.getValue());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
- assertEquals('\0', value2.getValue());
- value2.setValue(';');
- assertEquals(';', value2.getValue());
+ try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
+ assertEquals('\0', value2.getValue());
+ value2.setValue(';');
+ assertEquals(';', value2.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
+ assertEquals(';', value1.getValue());
+ value1.setValue('[');
+ assertEquals('[', value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals('[', value2.getValue());
+ }
}
- try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
- assertEquals(';', value1.getValue());
- value1.setValue('[');
- assertEquals('[', value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals('[', value2.getValue());
- }
- map.close();
}
/**
* For int-> byte entries, the key can be on heap or off heap.
*/
@Test
- @Ignore
public void testIntValueUnsignedByteMap() {
- ChronicleMap map = ChronicleMapBuilder.of(IntValue.class, UnsignedByteValue.class).entrySize(5).create();
- IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
- IntValue key2 = DataValueClasses.newInstance(IntValue.class);
- UnsignedByteValue value1 = DataValueClasses.newDirectInstance(UnsignedByteValue.class);
- UnsignedByteValue value2 = DataValueClasses.newInstance(UnsignedByteValue.class);
+ try (ChronicleMap map = ChronicleMapBuilder
+ .of(IntValue.class, UnsignedByteValue.class)
+ .entrySize(5)
+ .disableOversizedEntries(true) // disabled for testing purposes only.
+ .create()) {
+ IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
+ IntValue key2 = DataValueClasses.newInstance(IntValue.class);
+ UnsignedByteValue value1 = DataValueClasses.newDirectInstance(UnsignedByteValue.class);
+ UnsignedByteValue value2 = DataValueClasses.newInstance(UnsignedByteValue.class);
- key1.setValue(1);
- value1.setValue(11);
- map.put(key1, value1);
- assertEquals(value1, map.get(key1));
+ key1.setValue(1);
+ value1.setValue(11);
+ map.put(key1, value1);
+ assertEquals(value1, map.get(key1));
- key2.setValue(2);
- value2.setValue(22);
- map.put(key2, value2);
- assertEquals(value2, map.get(key2));
+ key2.setValue(2);
+ value2.setValue(22);
+ map.put(key2, value2);
+ assertEquals(value2, map.get(key2));
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(11, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value1)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value2)) {
- assertTrue(rc.present());
- assertEquals(11, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- key1.setValue(3);
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertFalse(rc.present());
- }
- key2.setValue(4);
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertFalse(rc.present());
- }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(11, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value1)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value2)) {
+ assertTrue(rc.present());
+ assertEquals(11, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ key1.setValue(3);
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertFalse(rc.present());
+ }
+ key2.setValue(4);
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertFalse(rc.present());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
- assertEquals(0, value1.getValue());
- value1.addValue(234);
- assertEquals(234, value1.getValue());
- }
- try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
- assertEquals(234, value2.getValue());
- value2.addValue(-100);
- assertEquals(134, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(134, value1.getValue());
- }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
+ assertEquals(0, value1.getValue());
+ value1.addValue(234);
+ assertEquals(234, value1.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
+ assertEquals(234, value2.getValue());
+ value2.addValue(-100);
+ assertEquals(134, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(134, value1.getValue());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
- assertEquals(0, value2.getValue());
- value2.addValue((byte) 123);
- assertEquals(123, value2.getValue());
+ try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
+ assertEquals(0, value2.getValue());
+ value2.addValue((byte) 123);
+ assertEquals(123, value2.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
+ assertEquals(123, value1.getValue());
+ value1.addValue((byte) -111);
+ assertEquals(12, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(12, value2.getValue());
+ }
}
- try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
- assertEquals(123, value1.getValue());
- value1.addValue((byte) -111);
- assertEquals(12, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(12, value2.getValue());
- }
- map.close();
}
/**
* For int values, the key can be on heap or off heap.
*/
@Test
- @Ignore
public void testIntValueBooleanValueMap() {
- ChronicleMap map = ChronicleMapBuilder.of(IntValue.class, BooleanValue.class).entrySize(5).create();
- IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
- IntValue key2 = DataValueClasses.newInstance(IntValue.class);
- BooleanValue value1 = DataValueClasses.newDirectInstance(BooleanValue.class);
- BooleanValue value2 = DataValueClasses.newInstance(BooleanValue.class);
+ try (ChronicleMap map = ChronicleMapBuilder
+ .of(IntValue.class, BooleanValue.class)
+ .disableOversizedEntries(true) // disabled for testing purposes only.
+ .entrySize(5)
+ .create()) {
+ IntValue key1 = DataValueClasses.newDirectInstance(IntValue.class);
+ IntValue key2 = DataValueClasses.newInstance(IntValue.class);
+ BooleanValue value1 = DataValueClasses.newDirectInstance(BooleanValue.class);
+ BooleanValue value2 = DataValueClasses.newInstance(BooleanValue.class);
- key1.setValue(1);
- value1.setValue(true);
- map.put(key1, value1);
- assertEquals(value1, map.get(key1));
-
- key2.setValue(2);
- value2.setValue(false);
- map.put(key2, value2);
- assertEquals(value2, map.get(key2));
-
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(true, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value1)) {
- assertTrue(rc.present());
- assertEquals(false, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value2)) {
- assertTrue(rc.present());
- assertEquals(true, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(false, value2.getValue());
- }
- key1.setValue(3);
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertFalse(rc.present());
- }
- key2.setValue(4);
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertFalse(rc.present());
- }
-
- try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
- assertEquals(false, value1.getValue());
+ key1.setValue(1);
value1.setValue(true);
- assertEquals(true, value1.getValue());
- }
- try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
- assertEquals(true, value2.getValue());
- value2.setValue(false);
- assertEquals(false, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(false, value1.getValue());
- }
+ map.put(key1, value1);
+ assertEquals(value1, map.get(key1));
- try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
- assertEquals(false, value2.getValue());
- value2.setValue(true);
- assertEquals(true, value2.getValue());
+ key2.setValue(2);
+ value2.setValue(false);
+ map.put(key2, value2);
+ assertEquals(value2, map.get(key2));
+
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(true, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value1)) {
+ assertTrue(rc.present());
+ assertEquals(false, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value2)) {
+ assertTrue(rc.present());
+ assertEquals(true, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(false, value2.getValue());
+ }
+ key1.setValue(3);
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertFalse(rc.present());
+ }
+ key2.setValue(4);
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertFalse(rc.present());
+ }
+
+ try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
+ assertEquals(false, value1.getValue());
+ value1.setValue(true);
+ assertEquals(true, value1.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
+ assertEquals(true, value2.getValue());
+ value2.setValue(false);
+ assertEquals(false, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(false, value1.getValue());
+ }
+
+ try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
+ assertEquals(false, value2.getValue());
+ value2.setValue(true);
+ assertEquals(true, value2.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
+ assertEquals(true, value1.getValue());
+ value1.setValue(false);
+ assertEquals(false, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(false, value2.getValue());
+ }
}
- try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
- assertEquals(true, value1.getValue());
- value1.setValue(false);
- assertEquals(false, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(false, value2.getValue());
- }
- map.close();
}
/**
* For float values, the key can be on heap or off heap.
*/
@Test
- @Ignore
public void testFloatValueFloatValueMap() {
- ChronicleMap map = ChronicleMapBuilder.of(FloatValue.class, FloatValue.class).entrySize(8).create();
- FloatValue key1 = DataValueClasses.newDirectInstance(FloatValue.class);
- FloatValue key2 = DataValueClasses.newInstance(FloatValue.class);
- FloatValue value1 = DataValueClasses.newDirectInstance(FloatValue.class);
- FloatValue value2 = DataValueClasses.newInstance(FloatValue.class);
+ try (ChronicleMap map = ChronicleMapBuilder
+ .of(FloatValue.class, FloatValue.class)
+ .entrySize(8)
+ .disableOversizedEntries(true) // disabled for testing purposes only.
+ .create()) {
+ FloatValue key1 = DataValueClasses.newDirectInstance(FloatValue.class);
+ FloatValue key2 = DataValueClasses.newInstance(FloatValue.class);
+ FloatValue value1 = DataValueClasses.newDirectInstance(FloatValue.class);
+ FloatValue value2 = DataValueClasses.newInstance(FloatValue.class);
- key1.setValue(1);
- value1.setValue(11);
- map.put(key1, value1);
- assertEquals(value1, map.get(key1));
+ key1.setValue(1);
+ value1.setValue(11);
+ map.put(key1, value1);
+ assertEquals(value1, map.get(key1));
- key2.setValue(2);
- value2.setValue(22);
- map.put(key2, value2);
- assertEquals(value2, map.get(key2));
+ key2.setValue(2);
+ value2.setValue(22);
+ map.put(key2, value2);
+ assertEquals(value2, map.get(key2));
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(11, value1.getValue(), 0);
- }
- try (ReadContext rc = map.getUsingLocked(key2, value1)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue(), 0);
- }
- try (ReadContext rc = map.getUsingLocked(key1, value2)) {
- assertTrue(rc.present());
- assertEquals(11, value2.getValue(), 0);
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue(), 0);
- }
- key1.setValue(3);
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertFalse(rc.present());
- }
- key2.setValue(4);
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertFalse(rc.present());
- }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(11, value1.getValue(), 0);
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value1)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue(), 0);
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value2)) {
+ assertTrue(rc.present());
+ assertEquals(11, value2.getValue(), 0);
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue(), 0);
+ }
+ key1.setValue(3);
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertFalse(rc.present());
+ }
+ key2.setValue(4);
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertFalse(rc.present());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
- assertEquals(0, value1.getValue(), 0);
- value1.addValue(123);
- assertEquals(123, value1.getValue(), 0);
- }
- try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
- assertEquals(123, value2.getValue(), 0);
- value2.addValue(1230 - 123);
- assertEquals(1230, value2.getValue(), 0);
- }
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(1230, value1.getValue(), 0);
- }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
+ assertEquals(0, value1.getValue(), 0);
+ value1.addValue(123);
+ assertEquals(123, value1.getValue(), 0);
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
+ assertEquals(123, value2.getValue(), 0);
+ value2.addValue(1230 - 123);
+ assertEquals(1230, value2.getValue(), 0);
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value1.getValue(), 0);
+ }
- try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
- assertEquals(0, value2.getValue(), 0);
- value2.addValue(123);
- assertEquals(123, value2.getValue(), 0);
+ try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
+ assertEquals(0, value2.getValue(), 0);
+ value2.addValue(123);
+ assertEquals(123, value2.getValue(), 0);
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
+ assertEquals(123, value1.getValue(), 0);
+ value1.addValue(1230 - 123);
+ assertEquals(1230, value1.getValue(), 0);
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value2.getValue(), 0);
+ }
}
- try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
- assertEquals(123, value1.getValue(), 0);
- value1.addValue(1230 - 123);
- assertEquals(1230, value1.getValue(), 0);
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(1230, value2.getValue(), 0);
- }
- map.close();
}
/**
* For double values, the key can be on heap or off heap.
*/
@Test
- @Ignore
public void testDoubleValueDoubleValueMap() {
- ChronicleMap map = ChronicleMapBuilder.of(DoubleValue.class, DoubleValue.class).entrySize(16).create();
- DoubleValue key1 = DataValueClasses.newDirectInstance(DoubleValue.class);
- DoubleValue key2 = DataValueClasses.newInstance(DoubleValue.class);
- DoubleValue value1 = DataValueClasses.newDirectInstance(DoubleValue.class);
- DoubleValue value2 = DataValueClasses.newInstance(DoubleValue.class);
+ try (ChronicleMap map = ChronicleMapBuilder
+ .of(DoubleValue.class, DoubleValue.class)
+ .entrySize(16)
+ .create()) {
+ DoubleValue key1 = DataValueClasses.newDirectInstance(DoubleValue.class);
+ DoubleValue key2 = DataValueClasses.newInstance(DoubleValue.class);
+ DoubleValue value1 = DataValueClasses.newDirectInstance(DoubleValue.class);
+ DoubleValue value2 = DataValueClasses.newInstance(DoubleValue.class);
- key1.setValue(1);
- value1.setValue(11);
- assertEquals(value1, map.get(key1));
+ key1.setValue(1);
+ value1.setValue(11);
+ assertEquals(value1, map.get(key1));
- key2.setValue(2);
- value2.setValue(22);
- map.put(key2, value2);
- assertEquals(value2, map.get(key2));
+ key2.setValue(2);
+ value2.setValue(22);
+ map.put(key2, value2);
+ assertEquals(value2, map.get(key2));
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(11, value1.getValue(), 0);
- }
- try (ReadContext rc = map.getUsingLocked(key2, value1)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue(), 0);
- }
- try (ReadContext rc = map.getUsingLocked(key1, value2)) {
- assertTrue(rc.present());
- assertEquals(11, value2.getValue(), 0);
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue(), 0);
- }
- key1.setValue(3);
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertFalse(rc.present());
- }
- key2.setValue(4);
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertFalse(rc.present());
- }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(11, value1.getValue(), 0);
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value1)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue(), 0);
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value2)) {
+ assertTrue(rc.present());
+ assertEquals(11, value2.getValue(), 0);
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue(), 0);
+ }
+ key1.setValue(3);
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertFalse(rc.present());
+ }
+ key2.setValue(4);
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertFalse(rc.present());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
- assertEquals(0, value1.getValue(), 0);
- value1.addValue(123);
- assertEquals(123, value1.getValue(), 0);
- }
- try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
- assertEquals(123, value2.getValue(), 0);
- value2.addValue(1230 - 123);
- assertEquals(1230, value2.getValue(), 0);
- }
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(1230, value1.getValue(), 0);
- }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
+ assertEquals(0, value1.getValue(), 0);
+ value1.addValue(123);
+ assertEquals(123, value1.getValue(), 0);
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
+ assertEquals(123, value2.getValue(), 0);
+ value2.addValue(1230 - 123);
+ assertEquals(1230, value2.getValue(), 0);
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value1.getValue(), 0);
+ }
- try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
- assertEquals(0, value2.getValue(), 0);
- value2.addValue(123);
- assertEquals(123, value2.getValue(), 0);
+ try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
+ assertEquals(0, value2.getValue(), 0);
+ value2.addValue(123);
+ assertEquals(123, value2.getValue(), 0);
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
+ assertEquals(123, value1.getValue(), 0);
+ value1.addValue(1230 - 123);
+ assertEquals(1230, value1.getValue(), 0);
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value2.getValue(), 0);
+ }
}
- try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
- assertEquals(123, value1.getValue(), 0);
- value1.addValue(1230 - 123);
- assertEquals(1230, value1.getValue(), 0);
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(1230, value2.getValue(), 0);
- }
- map.close();
}
/**
* For long values, the key can be on heap or off heap.
*/
@Test
- @Ignore
public void testLongValueLongValueMap() {
- ChronicleMap map = ChronicleMapBuilder.of(LongValue.class, LongValue.class).entrySize(16).create();
- LongValue key1 = DataValueClasses.newDirectInstance(LongValue.class);
- LongValue key2 = DataValueClasses.newInstance(LongValue.class);
- LongValue value1 = DataValueClasses.newDirectInstance(LongValue.class);
- LongValue value2 = DataValueClasses.newInstance(LongValue.class);
+ try (ChronicleMap map = ChronicleMapBuilder
+ .of(LongValue.class, LongValue.class)
+ .entrySize(16)
+ .disableOversizedEntries(true) // disabled for testing purposes only.
+ .create()) {
+ LongValue key1 = DataValueClasses.newDirectInstance(LongValue.class);
+ LongValue key2 = DataValueClasses.newInstance(LongValue.class);
+ LongValue value1 = DataValueClasses.newDirectInstance(LongValue.class);
+ LongValue value2 = DataValueClasses.newInstance(LongValue.class);
- key1.setValue(1);
- value1.setValue(11);
- assertEquals(value1, map.get(key1));
+ key1.setValue(1);
+ value1.setValue(11);
+ assertEquals(value1, map.get(key1));
- key2.setValue(2);
- value2.setValue(22);
- map.put(key2, value2);
- assertEquals(value2, map.get(key2));
+ key2.setValue(2);
+ value2.setValue(22);
+ map.put(key2, value2);
+ assertEquals(value2, map.get(key2));
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(11, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value1)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value2)) {
- assertTrue(rc.present());
- assertEquals(11, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(22, value2.getValue());
- }
- key1.setValue(3);
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertFalse(rc.present());
- }
- key2.setValue(4);
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertFalse(rc.present());
- }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(11, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value1)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value2)) {
+ assertTrue(rc.present());
+ assertEquals(11, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(22, value2.getValue());
+ }
+ key1.setValue(3);
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertFalse(rc.present());
+ }
+ key2.setValue(4);
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertFalse(rc.present());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
- assertEquals(0, value1.getValue());
- value1.addValue(123);
- assertEquals(123, value1.getValue());
- }
- try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
- assertEquals(123, value2.getValue());
- value2.addValue(1230 - 123);
- assertEquals(1230, value2.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key1, value1)) {
- assertTrue(rc.present());
- assertEquals(1230, value1.getValue());
- }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value1)) {
+ assertEquals(0, value1.getValue());
+ value1.addValue(123);
+ assertEquals(123, value1.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key1, value2)) {
+ assertEquals(123, value2.getValue());
+ value2.addValue(1230 - 123);
+ assertEquals(1230, value2.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key1, value1)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value1.getValue());
+ }
- try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
- assertEquals(0, value2.getValue());
- value2.addValue(123);
- assertEquals(123, value2.getValue());
+ try (WriteContext wc = map.acquireUsingLocked(key2, value2)) {
+ assertEquals(0, value2.getValue());
+ value2.addValue(123);
+ assertEquals(123, value2.getValue());
+ }
+ try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
+ assertEquals(123, value1.getValue());
+ value1.addValue(1230 - 123);
+ assertEquals(1230, value1.getValue());
+ }
+ try (ReadContext rc = map.getUsingLocked(key2, value2)) {
+ assertTrue(rc.present());
+ assertEquals(1230, value2.getValue());
+ }
}
- try (WriteContext wc = map.acquireUsingLocked(key2, value1)) {
- assertEquals(123, value1.getValue());
- value1.addValue(1230 - 123);
- assertEquals(1230, value1.getValue());
- }
- try (ReadContext rc = map.getUsingLocked(key2, value2)) {
- assertTrue(rc.present());
- assertEquals(1230, value2.getValue());
- }
- map.close();
}
/**
@@ -1346,119 +1421,127 @@ public class CHMUseCasesTest {
@Test
- @Ignore
public void testListValue() {
- ChronicleMap> map = ChronicleMapBuilder.of(String.class, (Class>) (Class) List.class).create();
+ try (ChronicleMap> map = ChronicleMapBuilder
+ .of(String.class, (Class>) (Class) List.class)
+ .valueMarshaller(ListMarshaller.of(new StringMarshaller(8)))
+ .create()) {
- map.put("1", Collections.emptyList());
- map.put("2", Arrays.asList("one"));
+ map.put("1", Collections.emptyList());
+ map.put("2", Arrays.asList("one"));
- List list1 = new ArrayList<>();
- try (WriteContext wc = map.acquireUsingLocked("1", list1)) {
- list1.add("two");
- assertEquals(Arrays.asList("two"), list1);
+ List list1 = new ArrayList<>();
+ try (WriteContext wc = map.acquireUsingLocked("1", list1)) {
+ list1.add("two");
+ assertEquals(Arrays.asList("two"), list1);
+ }
+ List list2 = new ArrayList<>();
+ try (ReadContext rc = map.getUsingLocked("1", list2)) {
+ assertTrue(rc.present());
+ assertEquals(Arrays.asList("two"), list2);
+ }
+ try (WriteContext wc = map.acquireUsingLocked("2", list1)) {
+ list1.add("three");
+ assertEquals(Arrays.asList("three"), list1);
+ }
+ try (ReadContext rc = map.getUsingLocked("2", list2)) {
+ assertTrue(rc.present());
+ assertEquals(Arrays.asList("one", "three"), list2);
+ }
}
- List list2 = new ArrayList<>();
- try (ReadContext rc = map.getUsingLocked("1", list2)) {
- assertTrue(rc.present());
- assertEquals(Arrays.asList("two"), list2);
- }
- try (WriteContext wc = map.acquireUsingLocked("2", list1)) {
- list1.add("three");
- assertEquals(Arrays.asList("three"), list1);
- }
- try (ReadContext rc = map.getUsingLocked("2", list2)) {
- assertTrue(rc.present());
- assertEquals(Arrays.asList("one", "three"), list2);
- }
- map.close();
}
@Test
- @Ignore
public void testSetValue() {
- ChronicleMap> map = ChronicleMapBuilder.of(String.class, (Class>) (Class) Set.class).create();
+ try (ChronicleMap> map = ChronicleMapBuilder
+ .of(String.class, (Class>) (Class) Set.class)
+ .valueMarshaller(SetMarshaller.of(new StringMarshaller(8)))
+ .create()) {
- map.put("1", Collections.emptySet());
- map.put("2", new LinkedHashSet(Arrays.asList("one")));
+ map.put("1", Collections.emptySet());
+ map.put("2", new LinkedHashSet(Arrays.asList("one")));
- Set list1 = new LinkedHashSet<>();
- try (WriteContext wc = map.acquireUsingLocked("1", list1)) {
- list1.add("two");
- assertEquals(new LinkedHashSet(Arrays.asList("two")), list1);
+ Set list1 = new LinkedHashSet<>();
+ try (WriteContext wc = map.acquireUsingLocked("1", list1)) {
+ list1.add("two");
+ assertEquals(new LinkedHashSet(Arrays.asList("two")), list1);
+ }
+ Set list2 = new LinkedHashSet<>();
+ try (ReadContext rc = map.getUsingLocked("1", list2)) {
+ assertTrue(rc.present());
+ assertEquals(new LinkedHashSet(Arrays.asList("two")), list2);
+ }
+ try (WriteContext wc = map.acquireUsingLocked("2", list1)) {
+ list1.add("three");
+ assertEquals(new LinkedHashSet(Arrays.asList("three")), list1);
+ }
+ try (ReadContext rc = map.getUsingLocked("2", list2)) {
+ assertTrue(rc.present());
+ assertEquals(new LinkedHashSet(Arrays.asList("one", "three")), list2);
+ }
}
- Set list2 = new LinkedHashSet<>();
- try (ReadContext rc = map.getUsingLocked("1", list2)) {
- assertTrue(rc.present());
- assertEquals(new LinkedHashSet(Arrays.asList("two")), list2);
- }
- try (WriteContext wc = map.acquireUsingLocked("2", list1)) {
- list1.add("three");
- assertEquals(new LinkedHashSet(Arrays.asList("three")), list1);
- }
- try (ReadContext rc = map.getUsingLocked("2", list2)) {
- assertTrue(rc.present());
- assertEquals(new LinkedHashSet(Arrays.asList("one", "three")), list2);
- }
- map.close();
}
@Test
- @Ignore
public void testMapStringStringValue() {
- ChronicleMap> map = ChronicleMapBuilder.of(String.class, (Class