Skip to content

Commit 46cfb03

Browse files
Add new test_Field method to unit test '(is)cyclic'
1 parent 2f0c67f commit 46cfb03

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

cf/test/test_Field.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2859,6 +2859,31 @@ def test_Field_pad_missing(self):
28592859
self.assertEqual(g.shape, (6, 11))
28602860
self.assertTrue(g[5, :].mask.all())
28612861

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+
28622887

28632888
if __name__ == "__main__":
28642889
print("Run date:", datetime.datetime.now())

0 commit comments

Comments
 (0)