Skip to content

Commit

Permalink
Add ControlHelper truncateString tests
Browse files Browse the repository at this point in the history
  • Loading branch information
thiagohdaqw committed Mar 27, 2022
1 parent 6406619 commit 4149e01
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions src/test/java/org/jabref/gui/util/ControlHelperTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package org.jabref.gui.util;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.*;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;

public class ControlHelperTest {

private final String TEXT = "abcdef";
private final int MAX_CHARACTERS = 5;
private final int DEFAULT_MAX_CHARACTERS = -1;
private final String ELLIPSIS_STRING = "***";
private final ControlHelper.EllipsisPosition ELLIPSIS_POSITION = ControlHelper.EllipsisPosition.ENDING;

@ParameterizedTest
@NullAndEmptySource
void truncateWithTextNullAndEmptyReturnsSource(String text){
String truncatedText = ControlHelper.truncateString(text, MAX_CHARACTERS, ELLIPSIS_STRING, ELLIPSIS_POSITION);
assertEquals(text, truncatedText);
}

@Test
void truncateWithDefaultMaxCharactersReturnsText(){
String truncatedText = ControlHelper.truncateString(TEXT, DEFAULT_MAX_CHARACTERS, ELLIPSIS_STRING, ELLIPSIS_POSITION);
assertEquals(TEXT, truncatedText);
}

@Test
void truncateWithEllipsisPositionBeginningReturnsTruncatedText(){
String truncatedText = ControlHelper.truncateString(TEXT, MAX_CHARACTERS, ELLIPSIS_STRING, ControlHelper.EllipsisPosition.BEGINNING);
assertEquals("***ef", truncatedText);
}

@Test
void truncateWithEllipsisPositionCenterReturnsTruncatedText(){
String truncatedText = ControlHelper.truncateString(TEXT, MAX_CHARACTERS, ELLIPSIS_STRING, ControlHelper.EllipsisPosition.CENTER);
assertEquals("a***f", truncatedText);
}

@Test
void truncateWithDefaultMaxCharactersAndNullEllipsisAndPositionEndingReturnsTruncatedText(){
String text = "a".repeat(75) + "b".repeat(25);
String truncatedText = ControlHelper.truncateString(text, DEFAULT_MAX_CHARACTERS, null, ControlHelper.EllipsisPosition.ENDING);
assertEquals("a".repeat(75), truncatedText);
}

@ParameterizedTest
@NullSource
void truncateWithNullEllipsisPositionThrowsNullPointerException(ControlHelper.EllipsisPosition ellipsisPosition){
assertThrows(
NullPointerException.class,
() -> ControlHelper.truncateString(TEXT, MAX_CHARACTERS, ELLIPSIS_STRING, ellipsisPosition)
);
}
}

0 comments on commit 4149e01

Please sign in to comment.