/* * Copyright (c) 2007 Matthew Hall and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Matthew Hall - initial API and implementation */ package org.eclipse.nebula.paperclips.core; import junit.framework.TestCase; import org.eclipse.nebula.paperclips.core.internal.util.Util; import org.eclipse.nebula.paperclips.core.page.PageNumber; import org.eclipse.nebula.paperclips.core.page.PageNumberPrint; import org.eclipse.nebula.paperclips.core.text.TextStyle; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.FontData; public class PageNumberPrintTest extends TestCase { public void testConstructor_illegalArguments() { try { new PageNumberPrint(null); fail(); } catch (IllegalArgumentException expected) { } try { new PageNumberPrint(new PageNumberStub(0), (TextStyle) null); fail(); } catch (IllegalArgumentException expected) { } assertEquals(SWT.LEFT, new PageNumberPrint(new PageNumberStub(0), 0) .getAlign()); } public void testEquals() { PageNumberPrint pageNumber1 = new PageNumberPrint(new PageNumberStub(0)); PageNumberPrint pageNumber2 = new PageNumberPrint(new PageNumberStub(0)); assertEquals(pageNumber1, pageNumber2); pageNumber1.setAlign(SWT.CENTER); assertFalse(pageNumber1.equals(pageNumber2)); pageNumber2.setAlign(SWT.CENTER); assertEquals(pageNumber1, pageNumber2); pageNumber1.setFontData(new FontData("Arial", 12, SWT.BOLD)); assertFalse(pageNumber1.equals(pageNumber2)); pageNumber2.setFontData(new FontData("Arial", 12, SWT.BOLD)); assertEquals(pageNumber1, pageNumber2); pageNumber1.setPageNumber(new PageNumberStub(1)); assertFalse(pageNumber1.equals(pageNumber2)); pageNumber2.setPageNumber(new PageNumberStub(1)); assertEquals(pageNumber1, pageNumber2); pageNumber1.setPageNumberFormat(new PageNumberFormatStub()); assertFalse(pageNumber1.equals(pageNumber2)); pageNumber2.setPageNumberFormat(new PageNumberFormatStub()); assertEquals(pageNumber1, pageNumber2); } static class PageNumberStub implements PageNumber { private int id; public PageNumberStub(int id) { this.id = id; } public boolean equals(Object obj) { if (!Util.sameClass(this, obj)) return false; PageNumberStub that = (PageNumberStub) obj; return this.id == that.id; } public int getPageCount() { return 0; } public int getPageNumber() { return 0; } } }