import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import java.util.Arrays; import java.util.List; public class SimpleTest { private static LineBreaking lineBreaking; @BeforeClass public static void init() { lineBreaking = new DynamicLineBreaking(); } @Test public void test1() { String text = "aaa bb cc dddd"; String[] words = text.split(" "); List lines = lineBreaking.format(words, 6); print(words, lines); Assert.assertEquals(Arrays.asList(1, 2, 1), lines); } @Test public void test2() { String text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce interdum justo eu sapien ornare hendrerit. Donec in purus libero. Curabitur finibus nec dolor non finibus. Maecenas ullamcorper ultricies hendrerit. Aenean scelerisque turpis nec sem sodales semper. Donec id magna ut justo placerat porttitor. Aenean sollicitudin varius turpis, eget rhoncus mi imperdiet sit amet. Pellentesque et eros sed turpis tempor finibus dictum quis eros. Ut fermentum, ante id viverra tempus, dolor eros tristique dui, quis rutrum massa felis euismod urna. Donec ligula diam, dignissim ut laoreet nec, fringilla quis nibh. Etiam sed dui rhoncus, feugiat tortor tempus, feugiat justo. Fusce diam mauris, commodo quis egestas eget, euismod id massa. Integer interdum vestibulum est at lacinia."; String[] words = text.split(" "); List lines = lineBreaking.format(words, 80); print(words, lines); Assert.assertEquals(Arrays.asList(11, 12, 9, 12, 11, 13, 12, 12, 11, 11), lines); } private void print(String[] words, List lines) { int offset = 0; for (int n : lines) { System.out.print(words[offset]); for (int i = 1; i < n; i++) { System.out.print(' '); System.out.print(words[offset + i]); } System.out.println(); offset += n; } System.out.println(); } }