[
https://issues.jboss.org/browse/SHRINKDESC-84?page=com.atlassian.jira.plu...
]
Bartosz Majsak commented on SHRINKDESC-84:
------------------------------------------
Based on our discussion in [this
commit|https://github.com/shrinkwrap/descriptors/commit/8ed82c896468eab53...]
I created two alternative implementation for Query API:
* [based on previously used enum singleton
approach|https://github.com/shrinkwrap/descriptors/pull/43]
* [based on immutable objects created by
factories|https://github.com/shrinkwrap/descriptors/pull/44]
Node.get(Patterns) matches recursive down the whole tree
--------------------------------------------------------
Key: SHRINKDESC-84
URL:
https://issues.jboss.org/browse/SHRINKDESC-84
Project: ShrinkWrap Descriptors
Issue Type: Bug
Components: spi
Affects Versions: 1.1.0-alpha-3
Reporter: Aslak Knutsen
Assignee: Bartosz Majsak
Priority: Blocker
Fix For: 1.1.0-alpha-5
Node.get should only try to match the first level.
{code}
@Test
public void shouldNotMatchAChildsChildrenOnGet()
{
// /root/child1/child2
Node root = new Node(ROOT_NAME)
.createChild(CHILD_1_NAME)
.createChild(CHILD_2_NAME).getRoot();
Assert.assertNull(root.get(CHILD_2_NAME));
}
@Test
public void shouldNotMatchAChildsChildrenOnGetSingle()
{
// /root/child1/child2
Node root = new Node(ROOT_NAME)
.createChild(CHILD_1_NAME)
.createChild(CHILD_2_NAME).getRoot();
Assert.assertNull(root.getSingle(CHILD_2_NAME));
}
@Test
public void shouldNotMatchAChildsChildrenOnGetOrCreate()
{
// /root/child1/child2
Node root = new Node(ROOT_NAME);
Node child1 = root.createChild(CHILD_1_NAME);
Node child2 = child1.createChild(CHILD_2_NAME);
Node createdChild = root.getOrCreate(CHILD_2_NAME);
Assert.assertNotSame(createdChild, child2);
}
@Test
public void shouldNotMatchAChildsChildrenOnRemoveChild()
{
// /root/child1/child2
Node root = new Node(ROOT_NAME)
.createChild(CHILD_1_NAME)
.createChild(CHILD_2_NAME).getRoot();
Assert.assertNull(root.removeChild(CHILD_2_NAME));
}
@Test
public void shouldNotMatchAChildsChildrenOnRemoveChildren()
{
// /root/child1/child2
Node root = new Node(ROOT_NAME)
.createChild(CHILD_1_NAME)
.createChild(CHILD_2_NAME).getRoot();
List<Node> removed = root.removeChildren(CHILD_2_NAME);
Assert.assertNotNull(removed);
Assert.assertEquals(0, removed.size());
}
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira