1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
from pymol import movie, cmd, testing, stored
class TestMovie(testing.PyMOLTestCase):
def _make_n_states(self, nstates):
cmd.fragment('gly', 'm1')
for state in range(2, nstates + 1):
cmd.create('m1', 'm1', 1, state)
def test_get_movie_fps(self):
self.assertEqual(30, movie.get_movie_fps(_self=cmd))
cmd.set('movie_fps', 10) # > 0
self.assertEqual(10, movie.get_movie_fps(_self=cmd))
cmd.set('movie_fps', 0) # <= 0
self.assertEqual(30, movie.get_movie_fps(_self=cmd))
def test_sweep(self):
N = 3
self._make_n_states(N)
movie.sweep()
self.assertEqual(cmd.count_frames(), N * 2)
P = 5
movie.sweep(pause=P)
self.assertEqual(cmd.count_frames(), N * 2 + P * 2)
C = 3
movie.sweep(cycles=C)
self.assertEqual(cmd.count_frames(), N * 2 * C)
def test_pause(self):
N = 3
self._make_n_states(N)
P = 10
movie.pause(pause=P)
self.assertEqual(cmd.count_frames(), 2 * P + N)
def test_rock(self):
self.skipTest("TODO") # movie.rock(first=1,last=-1,angle=30,phase=0,loop=1,axis='y'):
def test_roll(self):
self.skipTest("TODO") # movie.roll(first=1,last=-1,loop=1,axis='y'):
def test_tdroll(self):
self.skipTest("TODO") # movie.tdroll(first,rangex,rangey,rangez,skip=1):
def test_zoom(self):
self.skipTest("TODO") # movie.zoom(first,last,step=1,loop=1,axis='z'):
def test_nutate(self):
self.skipTest("TODO") # movie.nutate(first,last,angle=30,phase=0,loop=1,shift=math.pi/2.0):
def test_screw(self):
self.skipTest("TODO") # movie.screw(first,last,step=1,angle=30,phase=0,loop=1,axis='y'):
def test_timed_roll(self):
self.skipTest("TODO") # movie.timed_roll(period=12.0,cycles=1,axis='y'):
def test_add_blank(self):
self.skipTest("TODO") # movie.add_blank(duration=12.0,start=0):
def test_add_roll(self):
self.skipTest("TODO") # movie.add_roll(duration=12.0,loop=1,axis='y',start=0):
def test_add_rock(self):
self.skipTest("TODO") # movie.add_rock(duration=8.0,angle=30.0,loop=1,axis='y',start=0):
def test_add_state_sweep(self):
self.skipTest("TODO") # movie.add_state_sweep(factor=1,pause=2.0,first=-1,last=-1,loop=1,start=0):
def test_add_state_loop(self):
self.skipTest("TODO") # movie.add_state_loop(factor=1,pause=2.0,first=-1,last=-1,loop=1,start=0):
def test_add_nutate(self):
self.skipTest("TODO") # movie.add_nutate(duration=8.0, angle=30.0, spiral=0, loop=1,
@testing.requires_version('2.4')
def test_add_scenes(self):
cmd.fragment('gly', 'm1')
cmd.scene('001', 'store')
cmd.turn('x', 90)
cmd.scene('002', 'store')
movie.add_scenes()
self.assertEqual(cmd.count_frames(), 615)
cmd.mset()
movie.add_scenes(['001', '002'], pause=3)
self.assertEqual(cmd.count_frames(), 315)
cmd.mset()
movie.add_scenes('["001", "002"]') # string
self.assertEqual(cmd.count_frames(), 615)
def test_produce(self):
self.skipTest("TODO") # movie.produce(filename, mode='', first=0, last=0, preserve=0,
|