/* LanguageTool, a natural language style checker
* Copyright (C) 2009 Marcin Miłkowski (http://www.languagetool.org)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
package org.languagetool.openoffice;
import junit.framework.TestCase;
import com.sun.star.beans.PropertyValue;
import com.sun.star.lang.Locale;
import com.sun.star.linguistic2.ProofreadingResult;
public class MainTest extends TestCase {
public void testDoProofreading() {
final Main prog = new Main(null);
final String testString = "To jest trudne zdanie. A to następne. A to przedostatnie jest.\u0002 Test ostatniego.";
final Locale plLoc = new Locale("pl", "PL", "");
final PropertyValue[] prop = new PropertyValue[0];
for (int i = 0; i<=testString.length(); i++) {
final ProofreadingResult paRes = prog.doProofreading("1", testString, plLoc, i, testString.length(), prop);
assertEquals("1", paRes.aDocumentIdentifier);
assertTrue(paRes.nStartOfNextSentencePosition >= i);
if (i < "To jest trudne zdanie. ".length()) {
assertEquals("To jest trudne zdanie. ".length(), paRes.nStartOfNextSentencePosition);
assertEquals(0, paRes.nStartOfSentencePosition);
}
}
final ProofreadingResult paRes1 = prog.doProofreading("1", testString, plLoc, 0, testString.length(), prop);
assertEquals("1", paRes1.aDocumentIdentifier);
assertEquals(23, paRes1.nStartOfNextSentencePosition);
assertEquals(0, paRes1.nStartOfSentencePosition);
//that was causing NPE but not anymore:
final String testString2 = "To jest „nowy problem”. A to inny jeszcze( „problem. Co jest „?";
final ProofreadingResult paRes2 = prog.doProofreading("1", testString2, plLoc, 0, testString2.length(), prop);
assertEquals("1", paRes2.aDocumentIdentifier);
assertEquals(24, paRes2.nStartOfNextSentencePosition);
assertEquals(0, paRes2.nStartOfSentencePosition);
}
public void testShortenComment() {
final Main prog = new Main(null);
final String testString = "Lorem ipsum dolor sit amet, consectetur (adipisici elit), sed eiusmod tempor incidunt.";
final String testStringShortened = "Lorem ipsum dolor sit amet, consectetur (adipisici elit), sed eiusmod tempor incidunt.";
final String testLongString = "Lorem ipsum dolor sit amet, consectetur (adipisici elit), sed eiusmod tempor incidunt ut labore (et dolore magna aliqua).";
final String testLongStringShortened = "Lorem ipsum dolor sit amet, consectetur (adipisici elit), sed eiusmod tempor incidunt ut labore.";
final String testVeryLongString = "Lorem ipsum dolor sit amet, consectetur (adipisici elit), sed eiusmod (tempor incidunt [ut labore et dolore magna aliqua]).";
final String testVeryLongStringShortened = "Lorem ipsum dolor sit amet, consectetur (adipisici elit), sed eiusmod (tempor incidunt).";
final String shortenedString = prog.shortenComment(testString);
assertEquals(testStringShortened, shortenedString);
final String shortenedLongString = prog.shortenComment(testLongString);
assertEquals(testLongStringShortened, shortenedLongString);
final String shortenedVeryLongString = prog.shortenComment(testVeryLongString);
assertEquals(testVeryLongStringShortened, shortenedVeryLongString);
}
}