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 4b6dc6f56dcccfb28cb4532f907e884c4895e710..97b808cfb0d2c037f0ed5af593b4d8c42049a962 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 a67d0f73150ead415cb63df42f87e4d4cfca056a..f257f1477cb6966af2bf489616574306804a7ce3 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() {