diff --git a/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java b/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java index d23eff8a0..a2c49df11 100644 --- a/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java +++ b/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java @@ -325,6 +325,44 @@ public class CHMUseCasesTest { } + @Test + public void testOversizedEntry() throws ExecutionException, InterruptedException, IOException { + + int salefactor = 100; + int valueSize = 10 * salefactor; + + char[] expected = new char[valueSize]; + Arrays.fill(expected, 'X'); + + ChronicleMapBuilder builder = ChronicleMapBuilder + .of(CharSequence.class, char[].class) + .keySize(10) + .valueSize(10); + + try (ChronicleMap map = newInstance(builder)) { + map.put("Key", expected); + mapChecks(); + } + } + + + @Test + public void testKeyValueSizeBySample() throws ExecutionException, InterruptedException, + IOException { + + ChronicleMapBuilder builder = ChronicleMapBuilder + .of(CharSequence.class, CharSequence.class) + .constantKeySizeBySample("Key") + .constantValueSizeBySample("Value") + .entries(1); + + try (ChronicleMap map = newInstance(builder)) { + map.put("Key", "Value"); + mapChecks(); + } + } + + @Test public void testLargeCharSequenceValue() throws ExecutionException, InterruptedException, IOException {