Search in sources :

Example 1 with JOptionPaneFixture

use of org.fest.swing.fixture.JOptionPaneFixture in project beast2 by CompEvol.

the class BeautiStarBeastTest method simpleStarBeastTest.

@Test
public void simpleStarBeastTest() throws Exception {
    ScreenshotTaker screenshotTaker = new ScreenshotTaker();
    beauti.frame.setSize(1024, 640);
    String BASE_DIR = PREFIX.substring(0, PREFIX.lastIndexOf('/'));
    for (File file : new File(BASE_DIR).listFiles()) {
        if (file.getAbsolutePath().contains(PREFIX) && file.getName().endsWith(".png")) {
            file.delete();
        }
    }
    // create screen-shot showing template menu item
    warning("Select StarBeast template");
    beautiFrame.menuItemWithPath("File", "Template").click();
    screenshotTaker.saveComponentAsPng(beauti.frame, PREFIX + "selectTemplate.png");
    JMenuItemFixture templateMenu = beautiFrame.menuItemWithPath("File", "Template", "StarBeast");
    templateMenu.click();
    // remove menu from screen
    beautiFrame.menuItemWithPath("File").click();
    JTabbedPaneFixture f = beautiFrame.tabbedPane();
    f = f.selectTab("Priors");
    // 1. Load gopher data 26.nex, 29.nex, 47.nex
    warning("1. Load gopher data 26.nex, 29.nex, 47.nex");
    importAlignment("examples/nexus", new File("26.nex"), new File("29.nex"), new File("47.nex"));
    screenshotTaker.saveComponentAsPng(beauti.frame, PREFIX + "DataPartitions.png");
    printBeautiState(f);
    // 2. Define Taxon sets
    warning("2. Define taxon sets");
    f.selectTab("Taxon sets");
    beautiFrame.button("Guess").click();
    JOptionPaneFixture dialog = new JOptionPaneFixture(robot());
    // DialogFixture dialog = WindowFinder.findDialog("GuessTaxonSets").using(robot());
    dialog.radioButton("split on character").click();
    dialog.comboBox("splitCombo").selectItem("2");
    dialog.textBox("SplitChar2").deleteText().enterText("_");
    screenshotTaker.saveComponentAsPng(beauti.frame, PREFIX + "Guess_Taxonsets.png");
    // JButton okButton = dialog.robot.finder().find(JButtonMatcher.withText("OK"));
    // new JButtonFixture(dialog.robot, okButton).click();
    dialog.okButton().click();
    printBeautiState(f);
    // 3. Set site model to HKY + empirical frequencies
    warning("3. Set site model to HKY + empirical frequencies");
    f.selectTab("Site Model");
    for (int i = 0; i < 3; i++) {
        beautiFrame.list().selectItem(i);
        beautiFrame.comboBox("substModel").selectItem("HKY");
        JComboBoxFixture freqs = beautiFrame.comboBox("frequencies");
        freqs.selectItem("Empirical");
    // beautiFrame.checkBox("mutationRate.isEstimated").check();
    }
    // JCheckBoxFixture fixMeanMutationRate = beautiFrame.checkBox("FixMeanMutationRate");
    // fixMeanMutationRate.check();
    screenshotTaker.saveComponentAsPng(beauti.frame, PREFIX + "Site_Model.png");
    printBeautiState(f);
    // 4. Inspect clock models
    warning("4. Inspect clock models");
    f.selectTab("Clock Model");
    beautiFrame.list().selectItem(0);
    screenshotTaker.saveComponentAsPng(beauti.frame, PREFIX + "ClockModel1.png");
    beautiFrame.list().selectItem(1);
    screenshotTaker.saveComponentAsPng(beauti.frame, PREFIX + "ClockModel2.png");
    beautiFrame.list().selectItem(2);
    screenshotTaker.saveComponentAsPng(beauti.frame, PREFIX + "ClockModel3.png");
    // 5. Inspect multispecies coalescent
    warning("5. Inspect multispecies coalescent");
    f.selectTab("Multi Species Coalescent");
    beautiFrame.button("treePrior.t:26.editButton").click();
    beautiFrame.button("treePrior.t:29.editButton").click();
    beautiFrame.button("treePrior.t:47.editButton").click();
    beautiFrame.comboBox().selectItem("linear_with_constant_root");
    beautiFrame.button("treePrior.t:26.editButton").click();
    beautiFrame.button("treePrior.t:29.editButton").click();
    beautiFrame.button("treePrior.t:47.editButton").click();
    screenshotTaker.saveComponentAsPng(beauti.frame, PREFIX + "MSP.png");
    // 6. Set up MCMC parameters
    warning("6. Set up MCMC parameters");
    f = f.selectTab("MCMC");
    beautiFrame.textBox("chainLength").selectAll().setText("5000000");
    beautiFrame.button("speciesTreeLogger.editButton").click();
    beautiFrame.textBox("logEvery").selectAll().setText("1000");
    beautiFrame.button("speciesTreeLogger.editButton").click();
    beautiFrame.button("screenlog.editButton").click();
    beautiFrame.textBox("logEvery").selectAll().setText("10000");
    beautiFrame.button("speciesTreeLogger.editButton").click();
    screenshotTaker.saveComponentAsPng(beauti.frame, PREFIX + "MCMC.png");
    makeSureXMLParses();
}
Also used : JComboBoxFixture(org.fest.swing.fixture.JComboBoxFixture) ScreenshotTaker(org.fest.swing.image.ScreenshotTaker) JMenuItemFixture(org.fest.swing.fixture.JMenuItemFixture) File(java.io.File) JTabbedPaneFixture(org.fest.swing.fixture.JTabbedPaneFixture) JOptionPaneFixture(org.fest.swing.fixture.JOptionPaneFixture) Test(org.junit.Test)

Aggregations

File (java.io.File)1 JComboBoxFixture (org.fest.swing.fixture.JComboBoxFixture)1 JMenuItemFixture (org.fest.swing.fixture.JMenuItemFixture)1 JOptionPaneFixture (org.fest.swing.fixture.JOptionPaneFixture)1 JTabbedPaneFixture (org.fest.swing.fixture.JTabbedPaneFixture)1 ScreenshotTaker (org.fest.swing.image.ScreenshotTaker)1 Test (org.junit.Test)1