@@ -1279,6 +1279,7 @@ def test_nmod():
12791279 assert G (1 ,2 ) != G (0 ,2 )
12801280 assert G (0 ,2 ) != G (0 ,3 )
12811281 assert G (3 ,5 ) == G (8 ,5 )
1282+ assert isinstance (hash (G (3 , 5 )), int )
12821283 assert raises (lambda : G ([], 3 ), TypeError )
12831284 #assert G(3,5) == 8 # do we want this?
12841285 #assert 8 == G(3,5)
@@ -1300,9 +1301,14 @@ def test_nmod():
13001301 assert G (3 ,17 ) / G (2 ,17 ) == G (10 ,17 )
13011302 assert G (3 ,17 ) / 2 == G (10 ,17 )
13021303 assert 3 / G (2 ,17 ) == G (10 ,17 )
1304+ assert G (0 ,3 ) / G (1 ,3 ) == G (0 ,3 )
13031305 assert G (3 ,17 ) * flint .fmpq (11 ,5 ) == G (10 ,17 )
13041306 assert G (3 ,17 ) / flint .fmpq (11 ,5 ) == G (6 ,17 )
1307+ assert G (1 ,3 ) ** 2 == G (1 ,3 )
1308+ assert G (2 ,3 ) ** flint .fmpz (2 ) == G (1 ,3 )
13051309 assert G (flint .fmpq (2 , 3 ), 5 ) == G (4 ,5 )
1310+ assert raises (lambda : G (2 ,5 ) ** G (2 ,5 ), TypeError )
1311+ assert raises (lambda : flint .fmpz (2 ) ** G (2 ,5 ), TypeError )
13061312 assert raises (lambda : G (flint .fmpq (2 , 3 ), 3 ), ZeroDivisionError )
13071313 assert raises (lambda : G (2 ,5 ) / G (0 ,5 ), ZeroDivisionError )
13081314 assert raises (lambda : G (2 ,5 ) / 0 , ZeroDivisionError )
@@ -1314,10 +1320,12 @@ def test_nmod():
13141320 assert raises (lambda : G (2 ,5 ) - [], TypeError )
13151321 assert raises (lambda : G (2 ,5 ) * [], TypeError )
13161322 assert raises (lambda : G (2 ,5 ) / [], TypeError )
1323+ assert raises (lambda : G (2 ,5 ) ** [], TypeError )
13171324 assert raises (lambda : [] + G (2 ,5 ), TypeError )
13181325 assert raises (lambda : [] - G (2 ,5 ), TypeError )
13191326 assert raises (lambda : [] * G (2 ,5 ), TypeError )
13201327 assert raises (lambda : [] / G (2 ,5 ), TypeError )
1328+ assert raises (lambda : [] ** G (2 ,5 ), TypeError )
13211329 assert G (3 ,17 ).modulus () == 17
13221330 assert str (G (3 ,5 )) == "3"
13231331 assert G (3 ,5 ).repr () == "nmod(3, 5)"
0 commit comments