*/
package jalview.gui;
-import java.awt.Font;
-import java.awt.FontMetrics;
-
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
+import java.awt.Font;
+import java.awt.FontMetrics;
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
import jalview.bin.Cache;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.SearchResults;
import jalview.datamodel.SearchResultsI;
import jalview.io.DataSourceType;
-import jalview.io.DataSourceType;
import jalview.io.FileLoader;
-
import junit.extensions.PA;
public class SeqCanvasTest
av.setScaleRightWrapped(true);
FontMetrics fm = testee.getFontMetrics(av.getFont());
int labelWidth = fm.stringWidth("000") + charWidth;
- assertEquals(labelWidth, 39); // 3 x 9 + charWidth
+ // some leeway for different OS rendering of text
+ assertTrue(labelWidth >= 36 && labelWidth <= 39);
/*
* width 400 pixels leaves (400 - 2*labelWidth) for residue columns
av.setScaleLeftWrapped(false);
wrappedWidth = testee.calculateWrappedGeometry(canvasWidth,
canvasHeight);
- assertEquals(wrappedWidth, 23);
+ // some leeway for different OS rendering of text
+ assertTrue(wrappedWidth >= 22 && wrappedWidth <= 23);
+ int difference = wrappedWidth - 23;
/*
* add 10 pixels to width to fit in another whole residue column
canvasWidth += 1;
wrappedWidth = testee.calculateWrappedGeometry(canvasWidth,
canvasHeight);
- assertEquals(wrappedWidth, 24);
+ assertEquals(wrappedWidth, 24 + difference);
/*
* turn off East scale to gain 39 more pixels (3 columns remainder 3)
av.setScaleRightWrapped(false);
wrappedWidth = testee.calculateWrappedGeometry(canvasWidth,
canvasHeight);
- assertEquals(wrappedWidth, 27);
+ assertEquals(wrappedWidth, 27 + difference);
/*
* add 9 pixels to width to gain a residue column
canvasWidth += 1;
wrappedWidth = testee.calculateWrappedGeometry(canvasWidth,
canvasHeight);
- assertEquals(wrappedWidth, 28); // 9px is enough
+ assertEquals(wrappedWidth, 28 + difference); // 9px is enough
/*
* now West but not East scale - lose 39 pixels or 4 columns
canvasWidth += 1;
wrappedWidth = testee.calculateWrappedGeometry(canvasWidth,
canvasHeight);
- assertEquals(wrappedWidth, 25); // 3px is enough
+ assertEquals(wrappedWidth, 25 + difference); // 3px is enough
/*
* turn off scales left and right, make width exactly 157 columns
av.setScaleRightWrapped(true);
FontMetrics fm = testee.getFontMetrics(av.getFont());
int labelWidth = fm.stringWidth("000") + charWidth;
- assertEquals(labelWidth, 39); // 3 x 9 + charWidth
+ // some leeway for different OS rendering of text
+ assertTrue(labelWidth >= 36 && labelWidth <= 39);
int annotationHeight = testee.getAnnotationHeight();
/*