Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 51 additions & 43 deletions testsuite/MDAnalysisTests/core/test_segmentgroup.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,66 +22,74 @@
from __future__ import absolute_import

from numpy.testing import (
assert_,
assert_equal,
)
import pytest
from unittest import TestCase

import MDAnalysis as mda

from MDAnalysisTests.datafiles import PSF, DCD


class TestSegmentGroup(TestCase):
# Legacy tests from before 363
def setUp(self):
"""Set up the standard AdK system in implicit solvent."""
self.universe = mda.Universe(PSF, DCD)
self.g = self.universe.atoms.segments
# Legacy tests from before 363
@pytest.fixture()
def universe():
return mda.Universe(PSF, DCD)

def test_newSegmentGroup(self):
"""test that slicing a SegmentGroup returns a new SegmentGroup (Issue 135)"""
g = self.universe.atoms.segments
newg = g[:]
assert_(isinstance(newg, mda.core.groups.SegmentGroup))
assert_equal(len(newg), len(g))

def test_n_atoms(self):
assert_equal(self.g.n_atoms, 3341)
@pytest.fixture()
def g(universe):
return universe.atoms.segments

def test_n_residues(self):
assert_equal(self.g.n_residues, 214)

def test_resids_dim(self):
assert_equal(len(self.g.resids), len(self.g))
for seg, resids in zip(self.g, self.g.resids):
assert_(len(resids) == len(seg.residues))
assert_equal(seg.residues.resids, resids)
def test_newSegmentGroup(universe):
"""test that slicing a SegmentGroup returns a new SegmentGroup (Issue 135)"""
g = universe.atoms.segments
newg = g[:]
assert isinstance(newg, mda.core.groups.SegmentGroup)
assert_equal(len(newg), len(g))

def test_resnums_dim(self):
assert_equal(len(self.g.resnums), len(self.g))
for seg, resnums in zip(self.g, self.g.resnums):
assert_(len(resnums) == len(seg.residues))
assert_equal(seg.residues.resnums, resnums)

def test_segids_dim(self):
assert_equal(len(self.g.segids), len(self.g))
def test_n_atoms(g):
assert_equal(g.n_atoms, 3341)

def test_set_segids(self):
s = self.universe.select_atoms('all').segments
s.segids = 'ADK'
assert_equal(self.universe.segments.segids, ['ADK'],
err_msg="failed to set_segid on segments")

def test_set_segid_updates_self(self):
g = self.universe.select_atoms("resid 10:18").segments
g.segids = 'ADK'
assert_equal(g.segids, ['ADK'],
err_msg="old selection was not changed in place after set_segid")
def test_n_residues(g):
assert_equal(g.n_residues, 214)

def test_atom_order(self):
assert_equal(self.universe.segments.atoms.indices,
sorted(self.universe.segments.atoms.indices))

def test_resids_dim(g):
assert_equal(len(g.resids), len(g))
for seg, resids in zip(g, g.resids):
assert len(resids) == len(seg.residues)
assert_equal(seg.residues.resids, resids)


def test_resnums_dim(g):
assert_equal(len(g.resnums), len(g))
for seg, resnums in zip(g, g.resnums):
assert len(resnums) == len(seg.residues)
assert_equal(seg.residues.resnums, resnums)


def test_segids_dim(g):
assert_equal(len(g.segids), len(g))


def test_set_segids(universe):
s = universe.select_atoms('all').segments
s.segids = 'ADK'
assert_equal(universe.segments.segids, ['ADK'],
err_msg="failed to set_segid on segments")


def test_set_segid_updates_(universe):
g = universe.select_atoms("resid 10:18").segments
g.segids = 'ADK'
assert_equal(g.segids, ['ADK'],
err_msg="old selection was not changed in place after set_segid")


def test_atom_order(universe):
assert_equal(universe.segments.atoms.indices,
sorted(universe.segments.atoms.indices))