From b9649ef5c9bdc970d74d0f1fc44ff475af240c99 Mon Sep 17 00:00:00 2001 From: kaloyane <kaloyane> Date: Tue, 25 Oct 2011 14:51:53 +0000 Subject: [PATCH] fix: the toWellIdString() should also work for large 32x48 plates SVN: 23426 --- .../shared/basic/dto/WellLocation.java | 8 ++----- .../shared/basic/dto/WellLocationTest.java | 21 ++++++++++++++++++- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocation.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocation.java index 4b6dc6f56dc..97b808cfb0d 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocation.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocation.java @@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto; import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder; +import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.PlateUtils; /** * Describes position of the well on the plate. @@ -243,12 +244,7 @@ public class WellLocation implements ISerializable public String toWellIdString() { - return getNumberLetter(row) + column; - } - - private String getNumberLetter(@SuppressWarnings("hiding") int row) - { - return Character.toString((char) ((char) row + 'A' - (char) 1)); + return PlateUtils.translateRowNumberIntoLetterCode(row) + column; } @Override diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocationTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocationTest.java index a67d0f73150..f257f1477cb 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocationTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocationTest.java @@ -31,7 +31,7 @@ public class WellLocationTest { @DataProvider(name = "valid spreadsheet locations") - public Object[][] provideCorrectData() + Object[][] provideCorrectData() { return new Object[][] { @@ -56,6 +56,25 @@ public class WellLocationTest .toString(row), Integer.toString(col))); } + @DataProvider(name = "valid well ids") + Object[][] provideWellIdStrings() + { + return new Object[][] + { + { "A1", 1, 1 }, + { "A123", 1, 123 }, + { "B9", 2, 9 }, + { "C23", 3, 23 }, + { "AA1", 27, 1 }, + { "ZZ1000", 26 * 26 + 26, 1000 } }; + } + + @Test(dataProvider = "valid well ids") + public void testGetWellIdString(String location, int row, int col) + { + assertEquals(location, new WellLocation(row, col).toWellIdString()); + } + @Test public void testParseLocationStrWithEmptyString() { -- GitLab