@@ -2859,6 +2859,31 @@ def test_Field_pad_missing(self):
2859
2859
self .assertEqual (g .shape , (6 , 11 ))
2860
2860
self .assertTrue (g [5 , :].mask .all ())
2861
2861
2862
+ def test_Field_cyclic_iscyclic (self ):
2863
+ """Test the `cyclic` and `iscyclic` Field methods."""
2864
+ f1 = cf .example_field (1 ) # no cyclic axes
2865
+ f2 = cf .example_field (2 ) # one cyclic axis, 'domainaxis2' ('X')
2866
+
2867
+ # Getting
2868
+ self .assertEqual (f1 .cyclic (), set ())
2869
+ self .assertFalse (f1 .iscyclic ('X' ))
2870
+ self .assertFalse (f1 .iscyclic ('Y' ))
2871
+ self .assertFalse (f1 .iscyclic ('Z' ))
2872
+ self .assertFalse (f1 .iscyclic ('T' ))
2873
+ self .assertEqual (f2 .cyclic (), set (("domainaxis2" ,)))
2874
+ self .assertTrue (f2 .iscyclic ('X' ))
2875
+ self .assertFalse (f2 .iscyclic ('Y' ))
2876
+ self .assertFalse (f2 .iscyclic ('Z' ))
2877
+ self .assertFalse (f2 .iscyclic ('T' ))
2878
+
2879
+ # Setting
2880
+ self .assertEqual (
2881
+ f2 .cyclic ('X' , iscyclic = False ), set (("domainaxis2" ,)))
2882
+ self .assertEqual (f2 .cyclic (), set ())
2883
+ self .assertEqual (f2 .cyclic ('X' , period = 360 ), set ())
2884
+ self .assertEqual (f2 .cyclic (), set (("domainaxis2" ,)))
2885
+ self .assertTrue (f2 .iscyclic ('X' ))
2886
+
2862
2887
2863
2888
if __name__ == "__main__" :
2864
2889
print ("Run date:" , datetime .datetime .now ())
0 commit comments