class AtomTest(ut.TestCase): def setUp(self): self.atom = Atom(pdb='1GID', model=1, chain='A', component_id='C', component_number=50, name="C1'", symmetry='6_555', x=-1, y=0, z=0) def test_has_item_access(self): self.assertEqual(-1, self.atom.x) def test_computes_a_unit_id(self): val = self.atom.unit_id() ans = "1GID|1|A|C|50|C1'|||6_555" self.assertEqual(val, ans) def test_computes_its_component_id(self): val = self.atom.component_unit_id() ans = "1GID|1|A|C|50||||6_555" self.assertEqual(val, ans) def test_can_get_coordinates(self): val = self.atom.coordinates() ans = np.array([-1, 0, 0]) np.testing.assert_array_equal(val, ans) def test_can_get_distance_between_atoms(self): val = self.atom.distance(Atom(x=1, y=0, z=0)) self.assertEqual(2.0, val)
class AlternativeAtomTest(ut.TestCase): def setUp(self): self.atom = Atom(pdb='4OQ8', model=1, chain='A', component_id='SER', component_number=27, name='CA', alt_id='A', symmetry='PP') def test_has_a_unit_id(self): self.assertEquals('4OQ8|1|A|SER|27|CA|A||PP', self.atom.unit_id()) def test_has_a_component_id(self): self.assertEquals('4OQ8|1|A|SER|27||A||PP', self.atom.component_unit_id())
def test_can_build_problematic_id(self): atom = Atom(pdb='3V27', model=1, chain='A', component_id='G', component_number=94, component_index=1, insertion_code='A', x=None, y=None, z=None, group='ATOM', type='OP1', name='P', symmetry='1_555', polymeric=False) val = atom.component_unit_id() ans = '3V27|1|A|G|94|||A' self.assertEquals(ans, val)