BakeoutController-Basic  0.1
A Controller for the Omicron vacuum chamber
TabSwitchOnChange.java
1 package unit.ui.controllers.results_controller;
2 
3 import javafx.scene.chart.LineChart;
4 import javafx.scene.chart.XYChart;
7 import org.junit.Test;
8 
9 import java.util.ArrayList;
10 import java.util.Date;
11 import java.util.List;
12 
13 import static org.hamcrest.collection.IsIterableContainingInOrder.contains;
14 import static org.junit.Assert.assertThat;
15 
16 
21 public final class TabSwitchOnChange extends ResultControllerTestCase {
22 
23  private static final Voltage newVoltageDataPoint = new VoltageDataPoint(
24  new Date(), 10.0
25  );
26 
27  @Test
28  public void testTabSwitchOnChange(){
29  clickOn(queryForPressureTab);
30  mockVoltageProvider.addValue(newVoltageDataPoint);
31  clickOn(queryForVoltageTab);
32 
33  waitForFXAppToRun();
34 
35  List<Double> voltagesOnChart = getVoltagesOnChart();
36 
37  assertThat(voltagesOnChart, contains(newVoltageDataPoint.getValue()
38  .floatValue()));
39  }
40 
41  private static void waitForFXAppToRun(){
42  try {
43  Thread.sleep(100);
44  } catch (InterruptedException error){
45  // Return to finish test
46  }
47  }
48 
49  private List<Double> getVoltagesOnChart(){
50  List<Double> voltages = new ArrayList<>();
51 
52  LineChart<String, Double> voltageChart = lookup
53  (queryForVoltageChart).query();
54 
55  LineChart.Series<String, Double> voltageSeries = voltageChart
56  .getData().get(0);
57 
58  for (XYChart.Data<String, Double> voltageDataPoint: voltageSeries
59  .getData()){
60 
61  voltages.add(voltageDataPoint.getYValue());
62  }
63 
64  return voltages;
65  }
66 }
Git Repo