a5393ec5d92cebde54cead41e70fcc373531c32c
[jalview.git] / test / jalview / ext / rbvi / chimera / ChimeraConnect.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.ext.rbvi.chimera;
22
23 import static org.testng.AssertJUnit.assertFalse;
24 import static org.testng.AssertJUnit.assertTrue;
25
26 import org.testng.annotations.Test;
27
28 import ext.edu.ucsf.rbvi.strucviz2.ChimeraManager;
29 import ext.edu.ucsf.rbvi.strucviz2.StructureManager;
30
31 public class ChimeraConnect
32 {
33
34   @Test(groups = { "Functional" })
35   public void testLaunchAndExit()
36   {
37     final StructureManager structureManager = new StructureManager(true);
38     ChimeraManager cm = new ChimeraManager(structureManager);
39     assertTrue("Couldn't launch chimera",
40             cm.launchChimera(StructureManager.getChimeraPaths()));
41     assertTrue(cm.isChimeraLaunched()); // Chimera process is alive
42     // int n=0;
43     // not sure of the point of this is unless the tester is loading models
44     // manually?
45     // while (n++ < 100)
46     // {
47     // try {
48     // Thread.sleep(1000);
49     // } catch (Exception q)
50     // {
51     //
52     // }
53     // Collection<ChimeraModel> cms = cm.getChimeraModels();
54     // for (ChimeraModel cmod :cms) {
55     // System.out.println(cmod.getModelName());
56     // }
57     // }
58     cm.exitChimera();
59     assertFalse(cm.isChimeraLaunched()); // Chimera process has ended
60   }
61
62 }