/* Copywrite 2015 Will Winder This file is part of Universal Gcode Sender (UGS). UGS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. UGS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with UGS. If not, see <http://www.gnu.org/licenses/>. */ package com.willwinder.universalgcodesender.uielements; import com.willwinder.universalgcodesender.uielements.components.LengthLimitedDocument; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; /** * * @author wwinder */ public class LengthLimitedDocumentTest { public LengthLimitedDocumentTest() { } @Before public void setUp() { } /** * Test of insertString method, of class LengthLimitedDocument. */ @Test public void testInsertString() throws Exception { System.out.println("insertString"); LengthLimitedDocument instance = new LengthLimitedDocument(1000); StringBuffer sb = new StringBuffer(); for (int i = 0; i < 99; i++) { sb.append(" "); } String hundred = sb.append("\n").toString(); sb = new StringBuffer(); for (int i = 0; i < 149; i++) { sb.append(" "); } String hundredfifty = sb.append("\n").toString(); for (int i = 0; i < 10; i++) { instance.insertString(instance.getLength(), hundred, null); } assertEquals(1000, instance.getLength()); // Overflow. need to remove the first 100 character chunk. instance.insertString(instance.getLength(), hundred, null); assertEquals(1000, instance.getLength()); // Overflow. This time 200 characters are removed to break at a newline. instance.insertString(instance.getLength(), hundredfifty, null); assertEquals(950, instance.getLength()); } }