MCPcopy Index your code
hub / github.com/jankotek/mapdb / verifyNode

Method verifyNode

src/main/java/org/mapdb/BTreeMapJava.java:104–133  ·  view source on GitHub ↗
(GroupSerializer keySerializer, Comparator comparator, GroupSerializer valueSerializer)

Source from the content-addressed store, hash-verified

102
103
104 public void verifyNode(GroupSerializer keySerializer, Comparator comparator, GroupSerializer valueSerializer) {
105
106 int keysLen = keySerializer.valueArraySize(keys);
107 if (isDir()){
108 // compare directory size
109 if( keysLen - 1 + intLeftEdge() + intRightEdge() !=
110 ((long[]) values).length) {
111 throw new AssertionError();
112 }
113 } else{
114 // compare leaf size
115 if (keysLen != valueSerializer.valueArraySize(values) + 2 - intLeftEdge() - intRightEdge() - intLastKeyTwice()) {
116 throw new AssertionError();
117 }
118 }
119
120
121 //ensure keys are sorted
122 if(keysLen>1) {
123 for (int i = 1; i < keysLen; i++){
124 int c = comparator.compare(
125 keySerializer.valueArrayGet(keys, i-1),
126 keySerializer.valueArrayGet(keys, i));
127 if(c>0)
128 throw new AssertionError();
129 if(c==0 && i!=keysLen-1)
130 throw new AssertionError();
131 }
132 }
133 }
134 }
135
136 public static class NodeSerializer implements Serializer<Node>{

Callers 2

deserializeMethod · 0.95
serializeMethod · 0.80

Calls 7

isDirMethod · 0.95
intLeftEdgeMethod · 0.95
intRightEdgeMethod · 0.95
intLastKeyTwiceMethod · 0.95
valueArraySizeMethod · 0.65
compareMethod · 0.65
valueArrayGetMethod · 0.65

Tested by

no test coverage detected