Skip to content

Commit

Permalink
Add HieraryMapper tests
Browse files Browse the repository at this point in the history
  • Loading branch information
heruan committed Jan 30, 2024
1 parent 9b96941 commit c513d13
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,33 @@ public void uniqueKeyProviderIsNotSet_keysGeneratedByKeyMapper() {
communicator.getKeyMapper().get(i)));
}

@Test
public void expandRoot_streamIsClosed() {
AtomicBoolean streamIsClosed = new AtomicBoolean();

dataProvider = new TreeDataProvider<>(treeData) {

@Override
public Stream<Item> fetchChildren(
HierarchicalQuery<Item, SerializablePredicate<Item>> query) {
return super.fetchChildren(query)
.onClose(() -> streamIsClosed.set(true));
}
};

communicator.setDataProvider(dataProvider, null);

communicator.expand(ROOT);
fakeClientCommunication();

communicator.setParentRequestedRange(0, 50, ROOT);
fakeClientCommunication();

communicator.reset();

Assert.assertTrue(streamIsClosed.get());
}

@Test
public void expandRoot_filterOutAllChildren_clearCalled() {
parentClearCalled = false;
Expand Down Expand Up @@ -311,33 +338,6 @@ public void expandItem_tooMuchItemsRequested_maxItemsAllowedRequested() {
});
}

@Test
public void expandRoot_streamIsClosed() {
AtomicBoolean streamIsClosed = new AtomicBoolean();

dataProvider = new TreeDataProvider<>(treeData) {

@Override
public Stream<Item> fetchChildren(
HierarchicalQuery<Item, SerializablePredicate<Item>> query) {
return super.fetchChildren(query)
.onClose(() -> streamIsClosed.set(true));
}
};

communicator.setDataProvider(dataProvider, null);

communicator.expand(ROOT);
fakeClientCommunication();

communicator.setParentRequestedRange(0, 50, ROOT);
fakeClientCommunication();

communicator.reset();

Assert.assertTrue(streamIsClosed.get());
}

private void assertKeyItemPairIsPresentInKeyMapper(String key, Item item) {
Assert.assertTrue(communicator.getKeyMapper().has(item));
Assert.assertEquals(key, communicator.getKeyMapper().key(item));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
Expand Down Expand Up @@ -288,6 +289,42 @@ public void getExpandedItems_tryToAddItemsToCollection_shouldThrowException() {
expandedItems.add(new TreeNode("third-1"));
}

@Test
public void fetchHierarchyItems_streamIsClosed() {
AtomicBoolean streamIsClosed = new AtomicBoolean();
mapper = new HierarchyMapper<>(new TreeDataProvider<>(data) {
@Override
public Stream<Node> fetchChildren(
HierarchicalQuery<Node, SerializablePredicate<Node>> query) {
return super.fetchChildren(query)
.onClose(() -> streamIsClosed.set(true));
}
});
Node rootNode = testData.get(0);
mapper.expand(rootNode);
mapper.fetchHierarchyItems(rootNode, Range.between(0, 10)).count();

Assert.assertTrue(streamIsClosed.get());
}

@Test
public void fetchChildItems_streamIsClosed() {
AtomicBoolean streamIsClosed = new AtomicBoolean();
mapper = new HierarchyMapper<>(new TreeDataProvider<>(data) {
@Override
public Stream<Node> fetchChildren(
HierarchicalQuery<Node, SerializablePredicate<Node>> query) {
return super.fetchChildren(query)
.onClose(() -> streamIsClosed.set(true));
}
});
Node rootNode = testData.get(0);
mapper.expand(rootNode);
mapper.fetchChildItems(rootNode, Range.between(0, 10));

Assert.assertTrue(streamIsClosed.get());
}

private void expand(Node node) {
insertRows(mapper.expand(node, mapper.getIndexOf(node).orElse(null)));
}
Expand Down

0 comments on commit c513d13

Please sign in to comment.