class BasicTest(ut.TestCase): def setUp(self): self.atoms = [ Atom(type='C', name='a1', polymeric='A', component_number=3, x=0.0, y=0.0, z=0.0), Atom(type='C', name='a2', polymeric='B', component_number=2, x=0.0, y=0.0, z=0.0), Atom(type='N', name='b1', polymeric='C', component_number=1, x=0.0, y=0.0, z=0.0), Atom(type='N', name='c2', polymeric='C', component_number=0, x=0.0, y=0.0, z=0.0) ] self.component = Component(self.atoms, type='rna', pdb='1GID', model=1, chain='A', sequence='C', number=50, symmetry='6_555') def test_has_item_access(self): val = self.component.type ans = 'rna' self.assertEqual(val, ans) def test_length_is_number_atoms(self): val = len(self.component) ans = 4 self.assertEqual(val, ans) def test_computes_unit_id(self): val = self.component.unit_id() ans = "1GID|1|A|C|50||||6_555" self.assertEquals(val, ans) def test_can_get_filtered_atoms(self): val = list(self.component.atoms(type='C')) ans = self.atoms[0:2] self.assertEquals(val, ans) def test_can_filter_using_a_list(self): val = list(self.component.atoms(polymeric=['A', 'C'])) ans = [self.atoms[0], self.atoms[2], self.atoms[3]] self.assertEquals(val, ans) def test_can_filter_using_a_function(self): val = list(self.component.atoms(polymeric=lambda a: a == 'C')) ans = self.atoms[2:4] self.assertEquals(val, ans) def test_can_filter_by_several_attributes(self): val = list(self.component.atoms(type='C', polymeric='B')) ans = [self.atoms[1]] self.assertEquals(val, ans) def test_can_check_is_complete(self): val = self.component.is_complete(['a1', 'a2', 'b1']) self.assertTrue(val) def test_can_check_is_not_complete(self): val = self.component.is_complete(['a1', 'a2', 'g3']) self.assertFalse(val) def test_can_check_is_complete_using_custom_key(self): val = self.component.is_complete([1, 2], key='component_number') self.assertTrue(val) def test_can_check_is_not_complete_using_custom_key(self): val = self.component.is_complete([1, 2, 10], key='component_number') self.assertFalse(val) def test_knows_is_equal_to_itself(self): self.assertTrue(self.component == self.component) def test_knows_is_equal_to_equivelant_component(self): self.assertTrue(self.component == self.component.select())