File: test_undo_importing.py

package info (click to toggle)
pymol 3.1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 74,084 kB
  • sloc: cpp: 482,660; python: 89,328; ansic: 29,512; javascript: 6,792; sh: 84; makefile: 25
file content (48 lines) | stat: -rw-r--r-- 1,350 bytes parent folder | download
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
'''
Testing: pymol.importing
'''

import pytest

from pymol import cmd
from pymol import test_utils


def _undo_assert(fn, current_value, original_value):
    assert current_value == fn()
    cmd.undo()
    assert original_value == fn()
    cmd.redo()
    assert current_value == fn()


def test_undo_load_raw():
    cmd.load_raw(open(test_utils.datafile(
        "sampletrajectory.pdb")).read(), "pdb")
    _undo_assert(cmd.count_atoms, 115, 0)


@pytest.mark.parametrize("topext,trjext",
                         [('.pdb', '.dcd'),
                          ('.pdb', '.crd'),
                          ('.gro', '.xtc'),
                          ])
def test_undo_load_traj(topext, trjext):
    pdbfile = test_utils.datafile("sampletrajectory" + topext)
    dcdfile = test_utils.datafile("sampletrajectory" + trjext)
    cmd.load(pdbfile)
    cmd.load_traj(dcdfile, state=0)
    _undo_assert(cmd.count_states, 11, 1)
    cmd.delete('*')
    cmd.load(pdbfile)
    cmd.load_traj(dcdfile, state=1, interval=2, max=3)
    _undo_assert(cmd.count_states, 3, 1)
    cmd.delete('*')
    cmd.load(pdbfile)
    cmd.load_traj(dcdfile, state=1, start=3, stop=5)
    _undo_assert(cmd.count_states, 3, 1)
    cmd.delete('*')
    cmd.load(pdbfile)
    cmd.load_traj(dcdfile, state=1, stop=9, average=3)
    _undo_assert(cmd.count_states, 3, 1)
    cmd.delete('*')