@@ -428,6 +428,36 @@ def test_Domain_del_construct(self):
428
428
self .assertIsInstance (e .del_construct ("domainaxis2" ), cf .DomainAxis )
429
429
self .assertEqual (e .cyclic (), set ())
430
430
431
+ def test_Domain_cyclic_iscyclic (self ):
432
+ """Test the `cyclic` and `iscyclic` Domain methods."""
433
+ # A field and its domain should have the same cyclic() output.
434
+ f1 = cf .example_field (1 ) # no cyclic axes
435
+ d1 = f1 .domain
436
+ f2 = cf .example_field (2 ) # one cyclic axis, 'domainaxis2' ('X')
437
+ d2 = f2 .domain
438
+
439
+ # Getting
440
+ self .assertEqual (d1 .cyclic (), f1 .cyclic ())
441
+ self .assertEqual (d1 .cyclic (), set ())
442
+ self .assertFalse (d1 .iscyclic ('X' ))
443
+ self .assertFalse (d1 .iscyclic ('Y' ))
444
+ self .assertFalse (d1 .iscyclic ('Z' ))
445
+ self .assertFalse (d1 .iscyclic ('T' ))
446
+ self .assertEqual (d2 .cyclic (), f2 .cyclic ())
447
+ self .assertEqual (d2 .cyclic (), set (("domainaxis2" ,)))
448
+ self .assertTrue (d2 .iscyclic ('X' ))
449
+ self .assertFalse (d2 .iscyclic ('Y' ))
450
+ self .assertFalse (d2 .iscyclic ('Z' ))
451
+ self .assertFalse (d2 .iscyclic ('T' ))
452
+
453
+ # Setting
454
+ self .assertEqual (
455
+ d2 .cyclic ('X' , iscyclic = False ), set (("domainaxis2" ,)))
456
+ self .assertEqual (d2 .cyclic (), set ())
457
+ self .assertEqual (d2 .cyclic ('X' , period = 360 ), set ())
458
+ self .assertEqual (d2 .cyclic (), set (("domainaxis2" ,)))
459
+ self .assertTrue (d2 .iscyclic ('X' ))
460
+
431
461
432
462
if __name__ == "__main__" :
433
463
print ("Run date:" , datetime .datetime .now ())
0 commit comments