def test_component_for_duck_typing(): view = NGLWidget() traj = pt.load(nv.datafiles.PDB) view.add_component(get_fn('tz2.pdb')) view.add_component(get_fn('tz2_2.pdb.gz')) view.add_trajectory(nv.PyTrajTrajectory(traj)) view.component_0.add_representation('cartoon') c0 = view[0] c1 = view[1] assert hasattr(view, 'component_0') assert hasattr(view, 'component_1') assert hasattr(view, 'trajectory_0') assert hasattr(view.trajectory_0, 'n_frames') assert hasattr(view.trajectory_0, 'get_coordinates') assert hasattr(view.trajectory_0, 'get_structure_string') c0.show() c0.hide() view.remove_component(c0.id) assert not hasattr(view, 'component_2') # negative indexing assert view[-1]._index == c1._index
def test_component_for_duck_typing(): # FIXME: deprecate duck typing? # syntax looks ugly. view = NGLWidget() traj = pt.load(nv.datafiles.PDB) # add 3 components (trajectory is a component) view.add_component(get_fn('tz2.pdb')) view.add_component(get_fn('tz2_2.pdb.gz')) view.add_trajectory(nv.PyTrajTrajectory(traj)) view.component_0.add_representation('cartoon') c0 = view[0] c1 = view[1] assert hasattr(view, 'component_0') assert hasattr(view, 'component_1') assert hasattr(view, 'trajectory_0') assert hasattr(view.trajectory_0, 'n_frames') assert hasattr(view.trajectory_0, 'get_coordinates') assert hasattr(view.trajectory_0, 'get_structure_string') c0.show() c0.hide() # 2 components left view.remove_component(c0.id) # c1 become 1st component assert not hasattr(view, 'component_2') assert len(view._ngl_component_ids) == 2 # negative indexing assert view[0]._index == c1._index
def test_component_for_duck_typing(): view = NGLWidget() traj = pt.load(nv.datafiles.PDB) view.add_component(get_fn('tz2.pdb')) view.add_component(get_fn('tz2_2.pdb.gz')) view.add_trajectory(nv.PyTrajTrajectory(traj)) view.component_0.add_representation('cartoon') c0 = view[0] c1 = view[1] assert hasattr(view, 'component_0') assert hasattr(view, 'component_1') assert hasattr(view, 'trajectory_0') assert hasattr(view.trajectory_0, 'n_frames') assert hasattr(view.trajectory_0, 'get_coordinates') assert hasattr(view.trajectory_0, 'get_structure_string') c0.show() c0.hide() view.remove_component(c0.id) assert not hasattr(view, 'component_2') # negative indexing assert view[-1]._index == c1._index
def test_component_for_duck_typing(): view = NGLWidget() view.add_component('data/tz2.pdb') view.add_component('data/tz2_2.pdb.gz') c0 = view[0] c1 = view[1] nt.assert_true(hasattr(view, 'component_0')) nt.assert_true(hasattr(view, 'component_1')) c0.show() c0.hide() view.remove_component(c0.id) nt.assert_false(hasattr(view, 'component_1'))
def test_component_for_duck_typing(): view = NGLWidget() view.add_component('data/tz2.pdb') view.add_component('data/tz2_2.pdb.gz') c0 = view[0] c1 = view[1] nt.assert_true(hasattr(view, 'component_0')) nt.assert_true(hasattr(view, 'component_1')) c0.show() c0.hide() view.remove_component(c0.id) nt.assert_false(hasattr(view, 'component_1'))
def test_component_for_duck_typing(): view = NGLWidget() traj = pt.load(nv.datafiles.PDB) view.add_component('data/tz2.pdb') view.add_component('data/tz2_2.pdb.gz') view.add_trajectory(nv.PyTrajTrajectory(traj)) c0 = view[0] c1 = view[1] nt.assert_true(hasattr(view, 'component_0')) nt.assert_true(hasattr(view, 'component_1')) nt.assert_true(hasattr(view, 'trajectory_0')) nt.assert_true(hasattr(view.trajectory_0, 'n_frames')) nt.assert_true(hasattr(view.trajectory_0, 'get_coordinates')) nt.assert_true(hasattr(view.trajectory_0, 'get_structure_string')) c0.show() c0.hide() view.remove_component(c0.id) nt.assert_false(hasattr(view, 'component_2'))