/* * Copyright 2014 Jocki Hendry * * Licensed under the Apache 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://www.apache.org/licenses/LICENSE-2.0 * * 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 simple.escp; import org.junit.Test; import simple.escp.dom.PageFormat; import static org.junit.Assert.*; public class PageFormatTest { @Test public void pageFormatLineSpacing() { PageFormat pageFormat = new PageFormat(); pageFormat.setLineSpacing("1/8"); String result = pageFormat.build(); assertEquals(4, result.length()); assertEquals((char) 27, result.charAt(0)); assertEquals('@', result.charAt(1)); assertEquals((char) 27, result.charAt(2)); assertEquals((char) 48, result.charAt(3)); } @Test public void pageFormatCharacterPitch() { PageFormat pageFormat = new PageFormat(); pageFormat.setCharacterPitch("17"); String result = pageFormat.build(); assertEquals(5, result.length()); assertEquals((char) 27, result.charAt(0)); assertEquals('@', result.charAt(1)); assertEquals((char) 27, result.charAt(2)); assertEquals((char) 33, result.charAt(3)); assertEquals((char) 4, result.charAt(4)); } @Test public void pageFormatPageLength() { PageFormat pageFormat = new PageFormat(); pageFormat.setPageLength(10); pageFormat.setUsePrinterPageLength(false); String result = pageFormat.build(); assertEquals(5, result.length()); assertEquals((char) 27, result.charAt(0)); assertEquals('@', result.charAt(1)); assertEquals((char) 27, result.charAt(2)); assertEquals((char) 67, result.charAt(3)); assertEquals((char) 10, result.charAt(4)); } @Test public void usePrinterPageLength() { PageFormat pageFormat = new PageFormat(); pageFormat.setPageLength(10); pageFormat.setUsePrinterPageLength(true); String result = pageFormat.build(); assertEquals(2, result.length()); assertEquals((char) 27, result.charAt(0)); assertEquals('@', result.charAt(1)); } @Test public void pageFormatPageWidth() { PageFormat pageFormat = new PageFormat(); pageFormat.setPageWidth(40); String result = pageFormat.build(); assertEquals(5, result.length()); assertEquals((char) 27, result.charAt(0)); assertEquals('@', result.charAt(1)); assertEquals((char) 27, result.charAt(2)); assertEquals((char) 81, result.charAt(3)); assertEquals((char) 40, result.charAt(4)); } @Test public void pageFormatLeftAndRightMargin() { PageFormat pageFormat = new PageFormat(); pageFormat.setPageWidth(80); pageFormat.setLeftMargin(5); pageFormat.setRightMargin(10); String result = pageFormat.build(); assertEquals(8, result.length()); assertEquals((char) 27, result.charAt(0)); assertEquals('@', result.charAt(1)); assertEquals((char) 27, result.charAt(2)); assertEquals((char) 108, result.charAt(3)); assertEquals((char) 5, result.charAt(4)); assertEquals((char) 27, result.charAt(5)); assertEquals((char) 81, result.charAt(6)); assertEquals((char) 70, result.charAt(7)); } @Test public void pageFormatButtonMargin() { PageFormat pageFormat = new PageFormat(); pageFormat.setBottomMargin(80); String result = pageFormat.build(); assertEquals(5, result.length()); assertEquals((char) 27, result.charAt(0)); assertEquals('@', result.charAt(1)); assertEquals((char) 27, result.charAt(2)); assertEquals((char) 78, result.charAt(3)); assertEquals((char) 80, result.charAt(4)); } @Test public void pageFormatTypefaceRoman() { PageFormat pageFormat = new PageFormat(); pageFormat.setTypeface("roman"); String result = pageFormat.build(); assertEquals(5, result.length()); assertEquals((char) 27, result.charAt(0)); assertEquals('@', result.charAt(1)); assertEquals((char) 27, result.charAt(2)); assertEquals((char) 107, result.charAt(3)); assertEquals((char) 0, result.charAt(4)); } @Test public void pageFormatTypefaceSansSerif() { PageFormat pageFormat = new PageFormat(); pageFormat.setTypeface("sans-serif"); String result = pageFormat.build(); assertEquals(5, result.length()); assertEquals((char) 27, result.charAt(0)); assertEquals('@', result.charAt(1)); assertEquals((char) 27, result.charAt(2)); assertEquals((char) 107, result.charAt(3)); assertEquals((char) 1, result.charAt(4)); } }