@@ -1045,3 +1045,46 @@ def testReadStartGreaterThanEnd(self, twoColumnFiveRowTable):
10451045 assert 1 == len (data .columns )
10461046 assert [] == data .columns [0 ].values
10471047 assert 0 == len (data .rowNumbers )
1048+
1049+ def testAddData (self ):
1050+
1051+ grid = self .client .sf .sharedResources ()
1052+ table = grid .newTable (1 , "/testAddData" )
1053+ lc = columns .LongColumnI ('lc' , 'long' , [1 , 2 , 3 ])
1054+ dc = columns .DoubleColumnI ('dc' , 'double' , [0.25 , 0.5 , 1.0 ])
1055+ table .initialize ([lc , dc ])
1056+ table .addData ([lc , dc ])
1057+
1058+ data = table .slice ([], [])
1059+ assert 2 == len (data .columns )
1060+ assert [1 , 2 , 3 ] == data .columns [0 ].values
1061+ assert [0.25 , 0.5 , 1.0 ] == data .columns [1 ].values
1062+ assert [0 , 1 , 2 ] == data .rowNumbers
1063+
1064+ # Test addData using the opened table
1065+ lc = columns .LongColumnI ('lc' , 'long' , [4 , 5 ])
1066+ dc = columns .DoubleColumnI ('dc' , 'double' , [1.5 , 2.0 ])
1067+ table .addData ([lc , dc ])
1068+ data = table .slice ([], [])
1069+ assert 2 == len (data .columns )
1070+ assert [1 , 2 , 3 , 4 , 5 ] == data .columns [0 ].values
1071+ assert [0.25 , 0.5 , 1.0 , 1.5 , 2.0 ] == data .columns [1 ].values
1072+ assert [0 , 1 , 2 , 3 , 4 ] == data .rowNumbers
1073+
1074+ tid = unwrap (table .getOriginalFile ().getId ())
1075+ table .close ()
1076+
1077+ # Test addData after reopening the table
1078+ table = grid .openTable (omero .model .OriginalFileI (tid ))
1079+ lc = columns .LongColumnI ('lc' , 'long' , [6 , 7 ])
1080+ dc = columns .DoubleColumnI ('dc' , 'double' , [2.5 , 3.0 ])
1081+ table .addData ([lc , dc ])
1082+
1083+ data = table .slice ([], [])
1084+ assert 2 == len (data .columns )
1085+ assert [1 , 2 , 3 , 4 , 5 , 6 , 7 ] == data .columns [0 ].values
1086+ assert [0.25 , 0.5 , 1.0 , 1.5 , 2.0 , 2.5 , 3.0 ] == data .columns [1 ].values
1087+ assert [0 , 1 , 2 , 3 , 4 , 5 , 6 ] == data .rowNumbers
1088+
1089+ table .delete ()
1090+ table .close ()
0 commit comments