use of com.virtuslab.branchlayout.api.BranchLayoutEntry in project git-machete-intellij-plugin by VirtusLab.
the class BranchLayoutTestSuite method withBranchSlideOut_givenRootBranchWithChildren_slidesOut.
@Test
public void withBranchSlideOut_givenRootBranchWithChildren_slidesOut() {
// given
String rootName = "root";
String childName0 = "child0";
String childName1 = "child1";
/*-
root slide out
child0 -----> child0
child1 child1
*/
List<IBranchLayoutEntry> childBranches = List.of(new BranchLayoutEntry(childName0, /* customAnnotation */
null, List.empty()), new BranchLayoutEntry(childName1, /* customAnnotation */
null, List.empty()));
val entry = new BranchLayoutEntry(rootName, /* customAnnotation */
null, childBranches);
val branchLayout = new BranchLayout(List.of(entry));
// when
IBranchLayout result = branchLayout.slideOut(rootName);
// then
assertEquals(result.getRootEntries().size(), 2);
assertEquals(result.getRootEntries().get(0).getName(), childName0);
assertEquals(result.getRootEntries().get(1).getName(), childName1);
}
use of com.virtuslab.branchlayout.api.BranchLayoutEntry in project git-machete-intellij-plugin by VirtusLab.
the class BranchLayoutFileReader method createEntry.
/**
* Parses line to {@link BranchLayoutEntry#BranchLayoutEntry} arguments and creates an
* entry with the specified {@code children}.
*/
private IBranchLayoutEntry createEntry(String line, List<IBranchLayoutEntry> children) {
LOG.debug(() -> "Entering: line = '${line}', children = ${children}");
String trimmedLine = line.trim();
String branchName;
String customAnnotation;
int indexOfSpace = trimmedLine.indexOf(' ');
if (indexOfSpace > -1) {
branchName = trimmedLine.substring(0, indexOfSpace);
customAnnotation = trimmedLine.substring(indexOfSpace + 1).trim();
} else {
branchName = trimmedLine;
customAnnotation = null;
}
val result = new BranchLayoutEntry(branchName, customAnnotation, children);
LOG.debug(() -> "Created ${result}");
return result;
}
use of com.virtuslab.branchlayout.api.BranchLayoutEntry in project git-machete-intellij-plugin by VirtusLab.
the class BranchLayoutTestSuite method withBranchSlideOut_givenSingleRootBranch_slidesOut.
@Test
public void withBranchSlideOut_givenSingleRootBranch_slidesOut() {
// given
val rootName = "root";
/*-
root slide out
----->
*/
val entry = new BranchLayoutEntry(rootName, /* customAnnotation */
null, List.empty());
val branchLayout = new BranchLayout(List.of(entry));
// when
IBranchLayout result = branchLayout.slideOut(rootName);
// then
assertEquals(result.getRootEntries().size(), 0);
}
use of com.virtuslab.branchlayout.api.BranchLayoutEntry in project git-machete-intellij-plugin by VirtusLab.
the class BranchLayoutTestSuite method withBranchSlideOut_givenDuplicatedBranch_slidesOut.
@Test
public void withBranchSlideOut_givenDuplicatedBranch_slidesOut() {
// given
String rootName = "root";
String branchToSlideOutName = "child";
/*-
root root
child slide out
child ----->
*/
List<IBranchLayoutEntry> childBranches = List.of(new BranchLayoutEntry(branchToSlideOutName, /* customAnnotation */
null, List.empty()), new BranchLayoutEntry(branchToSlideOutName, /* customAnnotation */
null, List.empty()));
val rootEntry = new BranchLayoutEntry(rootName, /* customAnnotation */
null, childBranches);
val branchLayout = new BranchLayout(List.of(rootEntry));
// when
IBranchLayout result = branchLayout.slideOut(branchToSlideOutName);
// then
assertEquals(result.getRootEntries().size(), 1);
assertEquals(result.getRootEntries().get(0).getName(), rootName);
val children = result.getRootEntries().get(0).getChildren();
assertEquals(children.size(), 0);
}
use of com.virtuslab.branchlayout.api.BranchLayoutEntry in project git-machete-intellij-plugin by VirtusLab.
the class BranchLayoutTestSuite method withBranchSlideOut_givenDuplicatedBranchUnderItself_slidesOut.
@Test
public void withBranchSlideOut_givenDuplicatedBranchUnderItself_slidesOut() {
// given
String rootName = "root";
String childName = "child";
/*-
root slide out root
child ----->
child
*/
val childBranchEntry = new BranchLayoutEntry(childName, /* customAnnotation */
null, List.empty());
List<IBranchLayoutEntry> childBranches = List.of(new BranchLayoutEntry(childName, /* customAnnotation */
null, List.of(childBranchEntry)));
val entry = new BranchLayoutEntry(rootName, /* customAnnotation */
null, childBranches);
val branchLayout = new BranchLayout(List.of(entry));
// when
IBranchLayout result = branchLayout.slideOut(childName);
// then
assertEquals(result.getRootEntries().size(), 1);
assertEquals(result.getRootEntries().get(0).getName(), rootName);
assertEquals(result.getRootEntries().get(0).getChildren().size(), 0);
}
Aggregations