@@ -318,4 +318,51 @@ def test_equality(self):
318318 self .assertTrue (a != l )
319319 self .assertTrue (l != a )
320320
321+ def test_equality_base (self ):
322+ a = System .Array .CreateInstance (int , (5 ,), (5 ,))
323+ a2 = System .Array .CreateInstance (int , (5 ,), (5 ,))
324+ b = System .Array .CreateInstance (int , (6 ,), (5 ,))
325+ c = System .Array .CreateInstance (int , (5 ,), (6 ,))
326+ d = System .Array .CreateInstance (int , (6 ,), (6 ,))
327+
328+ self .assertTrue (a == a2 )
329+ self .assertFalse (a == b )
330+ self .assertFalse (a == c )
331+ self .assertFalse (a == d )
332+
333+ self .assertFalse (a != a2 )
334+ self .assertTrue (a != b )
335+ self .assertTrue (a != c )
336+ self .assertTrue (a != d )
337+
338+ def test_equality_rank (self ):
339+ a = System .Array .CreateInstance (int , 5 , 6 )
340+ a2 = System .Array .CreateInstance (int , 5 , 6 )
341+ b = System .Array .CreateInstance (int , 5 , 6 )
342+ b [0 , 0 ] = 1
343+ c = System .Array .CreateInstance (int , (6 , 5 ), (0 , 0 ))
344+ c [0 , 0 ] = 1
345+ d = System .Array .CreateInstance (int , (6 , 5 ), (1 , 1 ))
346+ d [1 , 1 ] = 1
347+ d1 = System .Array .CreateInstance (int , (6 , 5 ), (1 , 1 ))
348+ d1 [1 , 1 ] = 1
349+
350+ self .assertTrue (a == a2 )
351+ self .assertFalse (a == b ) # different element
352+ self .assertFalse (a == c ) # different rank
353+ self .assertFalse (a == d ) # different rank
354+ self .assertFalse (b == c ) # different shape
355+ self .assertFalse (b == d ) # different shape & base
356+ self .assertFalse (c == d ) # different base
357+ self .assertTrue (d == d1 )
358+
359+ self .assertFalse (a != a2 )
360+ self .assertTrue (a != b )
361+ self .assertTrue (a != c )
362+ self .assertTrue (a != d )
363+ self .assertTrue (b != c )
364+ self .assertTrue (b != d )
365+ self .assertTrue (c != d )
366+ self .assertFalse (d != d1 )
367+
321368run_test (__name__ )
0 commit comments