6
6
use MLL \Utils \Microplate \CoordinateSystem ;
7
7
use MLL \Utils \Microplate \CoordinateSystem12x8 ;
8
8
use MLL \Utils \Microplate \CoordinateSystem2x16 ;
9
+ use MLL \Utils \Microplate \CoordinateSystem2x16NoJ ;
9
10
use MLL \Utils \Microplate \CoordinateSystem4x3 ;
10
11
use MLL \Utils \Microplate \CoordinateSystem6x8 ;
11
12
use MLL \Utils \Microplate \CoordinateSystem8x6 ;
@@ -213,6 +214,7 @@ public static function dataProviderPaddedWells(): iterable
213
214
public static function dataProviderWells (): iterable
214
215
{
215
216
yield '2x16 ' => [new CoordinateSystem2x16 (), self ::data2x16 ()];
217
+ yield '2x16NoJ ' => [new CoordinateSystem2x16NoJ (), self ::data2x16NoJ ()];
216
218
yield '4x3 ' => [new CoordinateSystem4x3 (), self ::data4x3 ()];
217
219
yield '8x6 ' => [new CoordinateSystem8x6 (), self ::data8x6 ()];
218
220
yield '12x8 ' => [new CoordinateSystem12x8 (), self ::data12x8 ()];
@@ -236,6 +238,7 @@ public function testThrowsOnInvalidRowsOrColumns(CoordinateSystem $coordinateSys
236
238
public static function invalidRowsOrColumns (): iterable
237
239
{
238
240
yield '2x16 ' => [new CoordinateSystem2x16 (), [['X ' , 2 ], ['B ' , 0 ], ['B ' , 3 ], ['B ' , -1 ], ['B ' , 1000 ], ['rolf ' , 2 ]]];
241
+ yield '2x16NoJ ' => [new CoordinateSystem2x16NoJ (), [['J ' , 1 ], ['J ' , 2 ]]];
239
242
yield '4x3 ' => [new CoordinateSystem4x3 (), [['X ' , 2 ], ['B ' , 0 ], ['B ' , 4 ], ['B ' , -1 ], ['B ' , 1000 ], ['rolf ' , 2 ], ['D ' , 1 ]]];
240
243
yield '8x6 ' => [new CoordinateSystem8x6 (), [['X ' , 2 ], ['B ' , 0 ], ['B ' , 4 ], ['B ' , -1 ], ['B ' , 1000 ], ['rolf ' , 2 ], ['G ' , 1 ]]];
241
244
yield '12x8 ' => [new CoordinateSystem12x8 (), [['X ' , 2 ], ['B ' , 0 ], ['B ' , 13 ], ['B ' , -1 ], ['B ' , 1000 ], ['rolf ' , 2 ]]];
@@ -259,6 +262,7 @@ public function testThrowsOnInvalidPositions(CoordinateSystem $coordinateSystem,
259
262
public static function invalidPositions (): iterable
260
263
{
261
264
yield '2x16 ' => [new CoordinateSystem2x16 (), [0 , -1 , 33 , 10000 ]];
265
+ yield '2x16NoJ ' => [new CoordinateSystem2x16NoJ (), [0 , -1 , 33 , 10000 ]];
262
266
yield '4x3 ' => [new CoordinateSystem4x3 (), [0 , -1 , 13 , 10000 ]];
263
267
yield '8x6 ' => [new CoordinateSystem8x6 (), [0 , -1 , 49 , 10000 ]];
264
268
yield '12x8 ' => [new CoordinateSystem12x8 (), [0 , -1 , 97 , 10000 ]];
@@ -282,6 +286,7 @@ public function testThrowsOnInvalidCoordinates(CoordinateSystem $coordinateSyste
282
286
public static function invalidCoordinates (): iterable
283
287
{
284
288
yield '2x16 ' => [new CoordinateSystem2x16 (), ['A0 ' , 'A01 ' , 'D3 ' , 'C5 ' , 'X3 ' , 'rolf ' , 'a1 ' ]];
289
+ yield '2x16NoJ ' => [new CoordinateSystem2x16NoJ (), ['J1 ' , 'J2 ' ]];
285
290
yield '8x6 ' => [new CoordinateSystem8x6 (), ['A0 ' , 'A01 ' , 'G3 ' , 'C9 ' , 'rolf ' , 'a1 ' ]];
286
291
yield '12x8 ' => [new CoordinateSystem12x8 (), ['A0 ' , 'A001 ' , 'X3 ' , 'rolf ' , 'a1 ' ]];
287
292
}
@@ -325,6 +330,45 @@ public static function data2x16(): array
325
330
];
326
331
}
327
332
333
+ /** @return array<WellData> */
334
+ public static function data2x16NoJ (): array
335
+ {
336
+ return [
337
+ ['row ' => 'A ' , 'column ' => 1 , 'rowFlowPosition ' => 1 , 'columnFlowPosition ' => 1 ],
338
+ ['row ' => 'B ' , 'column ' => 1 , 'rowFlowPosition ' => 3 , 'columnFlowPosition ' => 2 ],
339
+ ['row ' => 'C ' , 'column ' => 1 , 'rowFlowPosition ' => 5 , 'columnFlowPosition ' => 3 ],
340
+ ['row ' => 'D ' , 'column ' => 1 , 'rowFlowPosition ' => 7 , 'columnFlowPosition ' => 4 ],
341
+ ['row ' => 'E ' , 'column ' => 1 , 'rowFlowPosition ' => 9 , 'columnFlowPosition ' => 5 ],
342
+ ['row ' => 'F ' , 'column ' => 1 , 'rowFlowPosition ' => 11 , 'columnFlowPosition ' => 6 ],
343
+ ['row ' => 'G ' , 'column ' => 1 , 'rowFlowPosition ' => 13 , 'columnFlowPosition ' => 7 ],
344
+ ['row ' => 'H ' , 'column ' => 1 , 'rowFlowPosition ' => 15 , 'columnFlowPosition ' => 8 ],
345
+ ['row ' => 'I ' , 'column ' => 1 , 'rowFlowPosition ' => 17 , 'columnFlowPosition ' => 9 ],
346
+ ['row ' => 'K ' , 'column ' => 1 , 'rowFlowPosition ' => 19 , 'columnFlowPosition ' => 10 ],
347
+ ['row ' => 'L ' , 'column ' => 1 , 'rowFlowPosition ' => 21 , 'columnFlowPosition ' => 11 ],
348
+ ['row ' => 'M ' , 'column ' => 1 , 'rowFlowPosition ' => 23 , 'columnFlowPosition ' => 12 ],
349
+ ['row ' => 'N ' , 'column ' => 1 , 'rowFlowPosition ' => 25 , 'columnFlowPosition ' => 13 ],
350
+ ['row ' => 'O ' , 'column ' => 1 , 'rowFlowPosition ' => 27 , 'columnFlowPosition ' => 14 ],
351
+ ['row ' => 'P ' , 'column ' => 1 , 'rowFlowPosition ' => 29 , 'columnFlowPosition ' => 15 ],
352
+ ['row ' => 'Q ' , 'column ' => 1 , 'rowFlowPosition ' => 31 , 'columnFlowPosition ' => 16 ],
353
+ ['row ' => 'A ' , 'column ' => 2 , 'rowFlowPosition ' => 2 , 'columnFlowPosition ' => 17 ],
354
+ ['row ' => 'B ' , 'column ' => 2 , 'rowFlowPosition ' => 4 , 'columnFlowPosition ' => 18 ],
355
+ ['row ' => 'C ' , 'column ' => 2 , 'rowFlowPosition ' => 6 , 'columnFlowPosition ' => 19 ],
356
+ ['row ' => 'D ' , 'column ' => 2 , 'rowFlowPosition ' => 8 , 'columnFlowPosition ' => 20 ],
357
+ ['row ' => 'E ' , 'column ' => 2 , 'rowFlowPosition ' => 10 , 'columnFlowPosition ' => 21 ],
358
+ ['row ' => 'F ' , 'column ' => 2 , 'rowFlowPosition ' => 12 , 'columnFlowPosition ' => 22 ],
359
+ ['row ' => 'G ' , 'column ' => 2 , 'rowFlowPosition ' => 14 , 'columnFlowPosition ' => 23 ],
360
+ ['row ' => 'H ' , 'column ' => 2 , 'rowFlowPosition ' => 16 , 'columnFlowPosition ' => 24 ],
361
+ ['row ' => 'I ' , 'column ' => 2 , 'rowFlowPosition ' => 18 , 'columnFlowPosition ' => 25 ],
362
+ ['row ' => 'K ' , 'column ' => 2 , 'rowFlowPosition ' => 20 , 'columnFlowPosition ' => 26 ],
363
+ ['row ' => 'L ' , 'column ' => 2 , 'rowFlowPosition ' => 22 , 'columnFlowPosition ' => 27 ],
364
+ ['row ' => 'M ' , 'column ' => 2 , 'rowFlowPosition ' => 24 , 'columnFlowPosition ' => 28 ],
365
+ ['row ' => 'N ' , 'column ' => 2 , 'rowFlowPosition ' => 26 , 'columnFlowPosition ' => 29 ],
366
+ ['row ' => 'O ' , 'column ' => 2 , 'rowFlowPosition ' => 28 , 'columnFlowPosition ' => 30 ],
367
+ ['row ' => 'P ' , 'column ' => 2 , 'rowFlowPosition ' => 30 , 'columnFlowPosition ' => 31 ],
368
+ ['row ' => 'Q ' , 'column ' => 2 , 'rowFlowPosition ' => 32 , 'columnFlowPosition ' => 32 ],
369
+ ];
370
+ }
371
+
328
372
/** @return array<WellData> */
329
373
public static function data4x3 (): array
330
374
{
0 commit comments