public void testGetSubstring() { final String text = "one two three"; final TextInput ti = new TextInput(text); assertEquals("", ti.getSubstring(text.length(), text.length())); assertEquals("", ti.getSubstring(-1, -1)); assertEquals("", (new TextInput("")).getSubstring(-100, 100)); assertEquals("", (new TextInput("")).getSubstring(100, -100)); assertEquals("", ti.getSubstring(0, 0)); assertEquals("", ti.getSubstring(text.length(), 0)); assertEquals("", ti.getSubstring(text.length(), text.length() + 1)); assertEquals("e", ti.getSubstring(text.length() - 1, text.length() + 1)); assertEquals("e", ti.getSubstring(text.length() - 1, text.length())); assertEquals("", ti.getSubstring(text.length() + 1, 0)); assertEquals("", ti.getSubstring(text.length() + 1, text.length())); assertEquals("", ti.getSubstring(text.length() + 1, -1)); assertEquals(text, ti.getSubstring(-10, 999)); assertEquals(text, ti.getSubstring(-10, text.length())); assertEquals(text, ti.getSubstring(0, 997)); assertEquals("one", ti.getSubstring(-1, 3)); assertEquals("thre", ti.getSubstring(8, text.length() - 1)); assertEquals("three", ti.getSubstring(8, text.length())); assertEquals("three", ti.getSubstring(8, text.length() + 1)); assertEquals("two", ti.getSubstring(4, 7)); }