package com.xenoage.zong.text;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import com.xenoage.utils.font.FontInfo;
import com.xenoage.utils.math.Units;
import com.xenoage.zong.core.text.FormattedTextElement;
import com.xenoage.zong.core.text.FormattedTextString;
import com.xenoage.zong.core.text.FormattedTextStyle;
/**
* Tests for {@link FormattedTextElement}
*
* @author Andreas Wenger
*/
public class FormattedTextStringTest {
@Test public void testAscentAndDescent() {
FormattedTextStyle style = new FormattedTextStyle(new FontInfo("Arial", 72f, null));
float ascent = Units.pxToMm(66, 1);
float descent = Units.pxToMm(16, 1);
float delta = 1f; //TODO: why so rough?
//any letters
FormattedTextElement text = new FormattedTextString("AbcdefÄß*^^°}yqg", style);
assertEquals(ascent, text.getMetrics().getAscent(), delta);
assertEquals(descent, text.getMetrics().getDescent(), delta);
//only "small" letters - must have same result
text = new FormattedTextString("acemnorsuvwxz", style);
assertEquals(ascent, text.getMetrics().getAscent(), delta);
assertEquals(descent, text.getMetrics().getDescent(), delta);
}
}