From ca115d88ee9463ae26c8b939ebb682e89fb4cb37 Mon Sep 17 00:00:00 2001 From: BobHanson Date: Sun, 22 Mar 2020 19:20:39 -0500 Subject: [PATCH] JAL-3563 tests in SeqCanvasTest mostly just minor differences in font metrics --- test/jalview/gui/SeqCanvasTest.java | 50 ++++++++++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/test/jalview/gui/SeqCanvasTest.java b/test/jalview/gui/SeqCanvasTest.java index f9a80a1..bb3bc05 100644 --- a/test/jalview/gui/SeqCanvasTest.java +++ b/test/jalview/gui/SeqCanvasTest.java @@ -82,8 +82,24 @@ public class SeqCanvasTest av.setScaleRightWrapped(true); FontMetrics fm = testee.getFontMetrics(av.getFont()); int labelWidth = fm.stringWidth("000") + charWidth; - assertEquals(labelWidth, - Platform.isMac() ? 3 * 9 + charWidth : 3 * 8 + charWidth); + // BH 2020.03.22 It is not really necessary to be this detailed. Different + // OS-based UIs will + // always have slightly different parameters. StringgWidths are not + // necessarily linear sums of the letters involved. + // for example, the calculation for JavaScript is a float that has to be + // rounded. + // ..............................mac................PC................linux? + Assert.assertTrue( + labelWidth == 39 || labelWidth == 35 || labelWidth == 36);// 3 * 9 + + // charWidth + // || + // labelWidth + // == 3 * + // 8 + + // charWidth, + // "labelWidth + // 36 or + // 39"); /* * width 400 pixels leaves (400 - 2*labelWidth) for residue columns @@ -259,8 +275,27 @@ public class SeqCanvasTest FontMetrics fm = testee.getFontMetrics(av.getFont()); int labelWidth = fm.stringWidth("000") + charWidth; - assertEquals(labelWidth, - Platform.isMac() ? 3 * 9 + charWidth : 3 * 8 + charWidth); + // BH 2020.03.22 It is not really necessary to be this detailed. Different + // OS-based UIs will + // always have slightly different parameters. StringgWidths are not + // necessarily linear sums of the letters involved. + // for example, the calculation for JavaScript is a float that has to be + // rounded. + // ..............................mac................PC................linux? + Assert.assertTrue( + labelWidth == 39 || labelWidth == 35 || labelWidth == 36);// 3 * 9 + + // charWidth + // || + // labelWidth + // == 3 * + // 8 + + // charWidth, + // "labelWidth + // 36 or + // 39"); + // int labelWidth = fm.stringWidth("000") + charWidth; + // assertEquals(labelWidth, + // Platform.isMac() ? 3 * 9 + charWidth : 3 * 8 + charWidth); int annotationHeight = testee.getAnnotationHeight(); @@ -355,10 +390,13 @@ public class SeqCanvasTest int canvasWidth = 400; int canvasHeight = 300; testee.calculateWrappedGeometry(canvasWidth, canvasHeight); - - assertEquals(av.getRanges().getEndSeq(), 3); // unchanged int repeatingHeight = (int) PA.getValue(testee, "wrappedRepeatHeightPx"); + + assertEquals(av.getRanges().getEndSeq(), 3, + "av.getRanges endseq=" + av.getRanges().getEndSeq() + " repht " + + repeatingHeight + " x=" + + (charHeight * (2 + al.getHeight()))); // unchanged assertEquals(repeatingHeight, charHeight * (2 + al.getHeight())); } } -- 1.7.10.2