Mercurial > hg > Members > shoshi > jungle > jungle-core
changeset 305:c8a9bc5243a9
bug fix
author | tatsuki |
---|---|
date | Wed, 25 Jan 2017 06:15:48 +0900 |
parents | b6118ca2c2c2 |
children | 0d11fd054893 |
files | src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/query/traverser/nodeiterator/RedBlackTreeNodeAndPathIterator.java src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/core/treeeditor/RedBlack/RedBlackTreeEditorNodeTest.java |
diffstat | 2 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/query/traverser/nodeiterator/RedBlackTreeNodeAndPathIterator.java Wed Jan 25 05:53:48 2017 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/query/traverser/nodeiterator/RedBlackTreeNodeAndPathIterator.java Wed Jan 25 06:15:48 2017 +0900 @@ -29,12 +29,14 @@ Attributes attribute = target.getAttributes(); ByteBuffer targetValue = attribute.get(key); - if (targetValue.hashCode() - searchValueBf.hashCode() < 0) { + long b1 = targetValue.hashCode(); + long b2 = searchValueBf.hashCode(); + if (b1 - b2 < 0) { Children children = target.getChildren(); TreeNode child = children.at(0).b(); currentPath = currentPath.add(0); return search(child, key, searchValueBf); - } else if (targetValue.hashCode() - searchValueBf.hashCode() > 0) { + } else if (b1 - b2 > 0) { Children children = target.getChildren(); TreeNode child = children.at(1).b(); currentPath = currentPath.add(1);
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/core/treeeditor/RedBlack/RedBlackTreeEditorNodeTest.java Wed Jan 25 05:53:48 2017 +0900 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/core/treeeditor/RedBlack/RedBlackTreeEditorNodeTest.java Wed Jan 25 06:15:48 2017 +0900 @@ -23,7 +23,7 @@ public class RedBlackTreeEditorNodeTest { - int testCount = 20; + int testCount = 1000; @Test public void RedBlackTreeEditorNode() { @@ -64,7 +64,7 @@ Assert.assertEquals(expectCount, nodeCount); ColorlessTreeNode rootNode2 = (ColorlessTreeNode) rootNode; //test用methodを使うためにcastしている - //rootNode2.checkDepth(0, 0); //赤黒木のバランスが取れているかを調べる + rootNode2.checkDepth(0, 0); //赤黒木のバランスが取れているかを調べる } System.out.println("------------------------------------------- delete -----------------------------------------------------------------------------------"); @@ -103,6 +103,8 @@ int expectCount = testCount - count; Assert.assertEquals(expectCount, nodeCount); + ColorlessTreeNode rootNode2 = (ColorlessTreeNode) rootNode; //test用methodを使うためにcastしている + rootNode2.checkDepth(0, 0); //赤黒木のバランスが取れているかを調べる }