92 lines
3.2 KiB
Python
92 lines
3.2 KiB
Python
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,
|