/**
* Licensed to The Apereo Foundation under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
*
* The Apereo Foundation licenses this file to you under the Educational
* Community License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of the License
* at:
*
* http://opensource.org/licenses/ecl2.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*
*/
package org.opencastproject.coverimage.impl.xsl;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
/**
* Unit tests for class {@link XsltHelper}
*/
public class XsltHelperTest {
private static final String SHORT_TEXT = "A short title";
private static final String TEXT1 = "Multiscale Climatic, Topographic, and Biotic Controls of Tree Invasion in a "
+ "Sub-Alpine Parkland Landscape, Jefferson Park, Oregon Cascades, USA";
private static final String TEXT2 = "The Ancient Ancestors of these Indians here: Colonial European Perceptions of "
+ "the Greatness of Classical Mesoamerican Cultures and the Apparent Degeneration of Conquest Era and "
+ "Colonial Indigenous Cultures in Mesoamerica, 1521-1821";
private static final String TEXT3 = "Dies ist ein \"Klassiker\" zur Gesprächsführung: Eine der ersten "
+ "kommerziell erstellten Therapieaufnahmen, bei der die echte Patientin \"Gloria\" mit Rogers, Perls "
+ "(Gestalttherapie) und Ellis (Rational-emotive Therapie) spricht. Ich stelle Ihnen hier nur den "
+ "Ausschnitt mit Rogers (Copyright!) zur Verfügung.";
private static final String TEXT4 = "Angehrn Tobias, Biedermann Anja, Böni Nicole, Ehrensperger Markus, Merk "
+ "Cornelia, Rohner Aline, Wattinger Stéphanie, Häni Yannick, Hilfiker Florian, Kratochwill Andreas, "
+ "Schlösser Nathalie, Schwarzer Andreas";
@Test
public void testSplit() {
assertEquals(null, XsltHelper.split(null, 50, 1, false));
assertEquals(TEXT1, XsltHelper.split(TEXT1, 0, 1, false));
assertEquals(null, XsltHelper.split(TEXT1, 50, 0, false));
assertEquals(SHORT_TEXT, XsltHelper.split(SHORT_TEXT, 50, 1, false));
assertEquals(null, XsltHelper.split(SHORT_TEXT, 50, 2, false));
assertEquals("Multiscale Climatic, Topographic, and Biotic", XsltHelper.split(TEXT1, 50, 1, false));
assertEquals("Controls of Tree Invasion in a Sub-Alpine Parkland", XsltHelper.split(TEXT1, 50, 2, false));
assertEquals("Landscape, Jefferson Park, Oregon Cascades, USA", XsltHelper.split(TEXT1, 50, 3, false));
assertEquals("The Ancient Ancestors of these Indians here:", XsltHelper.split(TEXT2, 44, 1, false));
assertEquals("The Ancient Ancestors of these Indians", XsltHelper.split(TEXT2, 43, 1, false));
assertEquals("Dies ist ein", XsltHelper.split(TEXT3, 15, 1, false));
assertEquals("\"Klassiker\" zur", XsltHelper.split(TEXT3, 15, 2, false));
assertEquals("Dies ist ein", XsltHelper.split(TEXT3, 23, 1, false));
assertEquals("\"Klassiker\" zur", XsltHelper.split(TEXT3, 23, 2, false));
assertEquals("Dies ist ein \"Klassiker\"", XsltHelper.split(TEXT3, 24, 1, false));
assertEquals("zur Gesprächsführung:", XsltHelper.split(TEXT3, 24, 2, false));
assertEquals("Angehrn Tobias, Biedermann", XsltHelper.split(TEXT4, 31, 1, false));
assertEquals("Angehrn Tobias, Biedermann Anja,", XsltHelper.split(TEXT4, 32, 1, false));
}
@Test
public void testSplitAbbreviate() {
assertEquals(SHORT_TEXT, XsltHelper.split(SHORT_TEXT, 13, 1, true));
assertEquals("A short...", XsltHelper.split(SHORT_TEXT, 12, 1, true));
assertEquals("A short...", XsltHelper.split(SHORT_TEXT, 11, 1, true));
assertEquals("A short...", XsltHelper.split(SHORT_TEXT, 10, 1, true));
assertEquals("A shor...", XsltHelper.split(SHORT_TEXT, 9, 1, true));
assertEquals("A sho...", XsltHelper.split(SHORT_TEXT, 8, 1, true));
assertEquals("A sh...", XsltHelper.split(SHORT_TEXT, 7, 1, true));
assertEquals("A...", XsltHelper.split(SHORT_TEXT, 6, 1, true));
assertEquals("A...", XsltHelper.split(SHORT_TEXT, 5, 1, true));
assertEquals("A...", XsltHelper.split(SHORT_TEXT, 4, 1, true));
assertEquals("A", XsltHelper.split(SHORT_TEXT, 3, 1, true));
assertEquals("A", XsltHelper.split(SHORT_TEXT, 2, 1, true));
assertEquals("A", XsltHelper.split(SHORT_TEXT, 1, 1, true));
assertEquals(SHORT_TEXT, XsltHelper.split(SHORT_TEXT, 0, 1, true));
}
}