@@ -950,29 +950,38 @@ def testReadInvalidInput(self, twoColumnFiveRowTable):
950950
951951 def testSliceInvalidInput (self , twoColumnFiveRowTable ):
952952
953- # colNumbers must match table columns
953+ # colNumbers must match number of columns
954954 with pytest .raises (omero .ApiUsageException ):
955955 twoColumnFiveRowTable .slice ([2 ], [])
956956
957957 # rowNumbers must match table rows
958958 with pytest .raises (omero .ApiUsageException ):
959959 twoColumnFiveRowTable .slice ([], [6 ])
960960
961- def testReadStartEnd (self , twoColumnFiveRowTable ):
961+ @pytest .mark .broken (reason = "start=0,end=0 to be reviewed" )
962+ def testReadEqual (self , twoColumnFiveRowTable ):
962963
963- # [1, 2, 3, 4, 5][-1:5] = [5]
964- data = twoColumnFiveRowTable .read ([0 ], - 1 , 5 )
964+ # start=0, end=0 has a special contract
965+ data = twoColumnFiveRowTable .read ([0 ], 0 , 0 )
965966 assert 1 == len (data .columns )
966- assert [5 ] == data .columns [0 ].values
967- assert [4 ] == data .rowNumbers
967+ assert [1 ] == data .columns [0 ].values
968+ assert [0 ] == data .rowNumbers
968969
969- # Special casing around [0:0 ]
970- data = twoColumnFiveRowTable .read ([0 ], 0 , 0 )
970+ # [1, 2, 3, 4, 5][2:2] = [ ]
971+ data = twoColumnFiveRowTable .read ([0 ], 2 , 2 )
971972 assert 1 == len (data .columns )
972- assert [1 , 2 , 3 , 4 , 5 ] == data .columns [0 ].values
973- assert [0 , 1 , 2 , 3 , 4 ] == data .rowNumbers
973+ assert [] == data .columns [0 ].values
974+ assert 0 == len (data .rowNumbers )
975+
976+ def testReadStartEnd (self , twoColumnFiveRowTable ):
977+
978+ # [1, 2, 3, 4, 5][0:1] = [1]
979+ data = twoColumnFiveRowTable .read ([0 ], 0 , 1 )
980+ assert 1 == len (data .columns )
981+ assert [1 ] == data .columns [0 ].values
982+ assert [0 ] == data .rowNumbers
974983
975- # [1, 2, 3, 4, 5][0:2 ] = [1, 2]
984+ # [1, 2, 3, 4, 5][0:1 ] = [1, 2]
976985 data = twoColumnFiveRowTable .read ([0 ], 0 , 2 )
977986 assert 1 == len (data .columns )
978987 assert [1 , 2 ] == data .columns [0 ].values
@@ -984,6 +993,27 @@ def testReadStartEnd(self, twoColumnFiveRowTable):
984993 assert [1 , 2 , 3 , 4 , 5 ] == data .columns [0 ].values
985994 assert [0 , 1 , 2 , 3 , 4 ] == data .rowNumbers
986995
996+ # [1, 2, 3, 4, 5][2:5] = [3, 4, 5]
997+ data = twoColumnFiveRowTable .read ([0 ], 2 , 5 )
998+ assert 1 == len (data .columns )
999+ assert [3 , 4 , 5 ] == data .columns [0 ].values
1000+ assert [2 , 3 , 4 ] == data .rowNumbers
1001+
1002+ # [1, 2, 3, 4, 5][2:4] = [3, 4]
1003+ data = twoColumnFiveRowTable .read ([0 ], 2 , 4 )
1004+ assert 1 == len (data .columns )
1005+ assert [3 , 4 ] == data .columns [0 ].values
1006+ assert [2 , 3 ] == data .rowNumbers
1007+
1008+ @pytest .mark .broken (reason = "need to be reviewed" )
1009+ def testReadOutOfRange (self , twoColumnFiveRowTable ):
1010+
1011+ # [1, 2, 3, 4, 5][-1:5] = [5]
1012+ data = twoColumnFiveRowTable .read ([0 ], - 1 , 5 )
1013+ assert 1 == len (data .columns )
1014+ assert [5 ] == data .columns [0 ].values
1015+ assert [4 ] == data .rowNumbers
1016+
9871017 # [1, 2, 3, 4, 5][0:10] = [1, 2, 3, 4, 5]
9881018 data = twoColumnFiveRowTable .read ([0 ], 0 , 10 )
9891019 assert 1 == len (data .columns )
@@ -1008,20 +1038,10 @@ def testReadStartEnd(self, twoColumnFiveRowTable):
10081038 assert [] == data .columns [0 ].values
10091039 assert 0 == len (data .rowNumbers )
10101040
1041+ def testReadStartGreaterThanEnd (self , twoColumnFiveRowTable ):
1042+
10111043 # [1, 2, 3, 4, 5][2:1] = []
10121044 data = twoColumnFiveRowTable .read ([0 ], 2 , 1 )
10131045 assert 1 == len (data .columns )
10141046 assert [] == data .columns [0 ].values
10151047 assert 0 == len (data .rowNumbers )
1016-
1017- # [1, 2, 3, 4, 5][2:2] = []
1018- data = twoColumnFiveRowTable .read ([0 ], 2 , 2 )
1019- assert 1 == len (data .columns )
1020- assert [] == data .columns [0 ].values
1021- assert 0 == len (data .rowNumbers )
1022-
1023- # [1, 2, 3, 4, 5][2:5] = [3, 4, 5]
1024- data = twoColumnFiveRowTable .read ([0 ], 2 , 5 )
1025- assert 1 == len (data .columns )
1026- assert [3 , 4 , 5 ] == data .columns [0 ].values
1027- assert [2 , 3 , 4 ] == data .rowNumbers
0 commit comments