mirror of
https://github.com/OpenHFT/Chronicle-Map.git
synced 2021-09-13 01:26:12 +00:00
testing off heap interfaces with String[]
Conflicts: src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java
This commit is contained in:
@@ -103,7 +103,18 @@ public class DataValueConverter implements Converter {
|
||||
|
||||
final String fieldName = "_" + fileModel.name();
|
||||
|
||||
Field field = o.getClass().getDeclaredField(fieldName);
|
||||
Field field;
|
||||
|
||||
try {
|
||||
field = o.getClass().getDeclaredField(fieldName);
|
||||
} catch (NoSuchFieldException e1) {
|
||||
|
||||
throw new ConversionException("JSON conversion of Classes containing " +
|
||||
"arrays is not " +
|
||||
"currently supported" +
|
||||
", the following field could not be found=" + fileModel.name(), e1);
|
||||
}
|
||||
|
||||
field.setAccessible(true);
|
||||
|
||||
final Object[] o1 = (Object[]) field.get(o);
|
||||
@@ -122,8 +133,8 @@ public class DataValueConverter implements Converter {
|
||||
}
|
||||
writer.endNode();
|
||||
|
||||
} catch (NoSuchFieldException | IllegalAccessException e1) {
|
||||
throw new ConversionException("", e1);
|
||||
} catch (IllegalAccessException e) {
|
||||
throw new ConversionException("", e);
|
||||
}
|
||||
|
||||
continue;
|
||||
|
||||
@@ -354,6 +354,56 @@ public class CHMUseCasesTest {
|
||||
}
|
||||
|
||||
|
||||
|
||||
interface I1 {
|
||||
String getStrAt( @MaxSize(10) int i);
|
||||
void setStrAt(@MaxSize(10) int i, @MaxSize(10) String str);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testArrayOfString() throws ExecutionException, InterruptedException,
|
||||
IOException {
|
||||
|
||||
ChronicleMapBuilder<CharSequence, I1> builder = ChronicleMapBuilder
|
||||
.of(CharSequence.class, I1.class)
|
||||
.entries(10);
|
||||
|
||||
try (ChronicleMap<CharSequence, I1> map = newInstance(builder)) {
|
||||
|
||||
{
|
||||
final I1 i1 = map.newValueInstance();
|
||||
i1.setStrAt(1, "Hello");
|
||||
i1.setStrAt(2, "World");
|
||||
map.put("Key1", i1);
|
||||
}
|
||||
|
||||
{
|
||||
final I1 i1 = map.newValueInstance();
|
||||
i1.setStrAt(1, "Hello2");
|
||||
i1.setStrAt(2, "World2");
|
||||
map.put("Key2", i1);
|
||||
}
|
||||
|
||||
{
|
||||
final I1 key = map.get("Key1");
|
||||
|
||||
assertEquals("Hello", key.getStrAt(1));
|
||||
assertEquals("World", key.getStrAt(2));
|
||||
}
|
||||
|
||||
{
|
||||
final I1 key = map.get("Key2");
|
||||
|
||||
assertEquals("Hello2", key.getStrAt(1));
|
||||
assertEquals("World2", key.getStrAt(2));
|
||||
}
|
||||
|
||||
// todo not currently supported for arrays
|
||||
// mapChecks();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testCharArrayValue() throws ExecutionException, InterruptedException, IOException {
|
||||
|
||||
@@ -469,6 +519,9 @@ public class CHMUseCasesTest {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
public void testKeyValueSizeBySample() throws ExecutionException, InterruptedException,
|
||||
IOException {
|
||||
|
||||
Reference in New Issue
Block a user