BakeoutController-Basic  0.1
A Controller for the Omicron vacuum chamber
PVCiPressureGaugeTestCase.java
1 package unit.devices.pvci_pressure_gauge;
2 
3 import com.ghgande.j2mod.modbus.io.ModbusSerialTransaction;
4 import com.ghgande.j2mod.modbus.io.ModbusTransaction;
5 import com.ghgande.j2mod.modbus.msg.ModbusRequest;
6 import com.ghgande.j2mod.modbus.msg.ModbusResponse;
7 import com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersResponse;
11 import org.jmock.Expectations;
12 import org.junit.Before;
14 
18 public abstract class PVCiPressureGaugeTestCase extends DevicesTestCase {
19  protected final ModbusConnector mockModbusConnector = context.mock(
20  ModbusConnector.class
21  );
22 
23  protected final ModbusTransaction mockTransaction = new MockTransaction();
24 
25  protected final ModbusResponse mockResponse = new
26  ReadMultipleRegistersResponse();
27 
28  protected static final Integer address = 11;
29 
30  protected PressureGauge pressureGauge;
31 
32  @Before
33  public void createPressureGauge() throws Exception {
34  setContext();
35  pressureGauge = new PVCiPressureGauge(address, mockModbusConnector);
36  }
37 
38  private void setContext() throws Exception{
39  context.checking(new ExpectationsForConstruction());
40  }
41 
42  private class MockTransaction extends ModbusSerialTransaction {
43  @Override
44  public void execute(){
45  // Don't actually run anything
46  }
47 
48  @Override
49  public ModbusResponse getResponse(){
50  return mockResponse;
51  }
52  }
53 
54  private class ExpectationsForConstruction extends Expectations {
55  public ExpectationsForConstruction() throws Exception {
56  oneOf(mockModbusConnector).getTransactionForRequest(
57  with(any(ModbusRequest.class))
58  );
59  will(returnValue(mockTransaction));
60 
61  oneOf(mockModbusConnector).parseStringFromResponse(
62  with(any(ModbusResponse.class))
63  );
64  will(returnValue("IGC3"));
65  }
66  }
67 }
final Mockery context
Git Repo