11 import org.jmock.Expectations;
12 import org.jmock.Mockery;
13 import org.jmock.integration.junit4.JUnit4Mockery;
14 import org.jmock.lib.concurrent.Synchroniser;
15 import org.springframework.context.annotation.*;
18 import java.time.Duration;
19 import java.util.ArrayList;
20 import java.util.List;
27 @Import(UserInterfaceConfiguration.class)
34 private volatile Kernel mockKernel;
44 private volatile List<String> portList;
58 public Mockery mockingContext(){
59 if(mockingContext == null) {
60 mockingContext =
new SynchronizedJUnit4Mockery();
71 portList =
new ArrayList<>();
72 portList.add(
"/dev/ttyUSB0");
100 if(mockDeviceContainerView == null){
105 return mockDeviceContainerView;
111 if (mockVariableProviderContainer == null){
116 return mockVariableProviderContainer;
134 return mockVoltageProvider;
153 private class SynchronizedJUnit4Mockery
extends JUnit4Mockery {
157 public SynchronizedJUnit4Mockery(){
158 setThreadingPolicy(
new Synchroniser());
166 private class ExpectationsForKernel
extends Expectations {
170 public ExpectationsForKernel()
throws Exception {
171 expectationsForPortReporter();
172 expectationsForSerialPortNames();
173 expectationsForFactory();
174 expectationsForPressureGaugeFactory();
175 expectationsForDeviceRegistryView();
176 expectationsForVariableProvider();
177 expectationsForGetPressureProvider();
178 expectationsForGetVoltageProvider();
184 private void expectationsForPortReporter(){
185 allowing(mockKernel).getCommPortReporter();
193 private void expectationsForSerialPortNames() {
198 private void expectationsForFactory(){
199 allowing(mockKernel).getPowerSupplyFactory();
200 will(returnValue(tdkLambdaPowerSupplyFactory()));
203 private void expectationsForDeviceRegistryView(){
204 allowing(mockKernel).getDeviceRegistryView();
205 will(returnValue(deviceRegistryView()));
208 private void expectationsForPressureGaugeFactory(){
209 allowing(mockKernel).getPressureGaugeFactory();
210 will(returnValue(pvCiPressureGaugeFactory()));
213 private void expectationsForVariableProvider(){
214 allowing(mockKernel).getVariableProvidersView();
215 will(returnValue(variableProviderRegistry()));
218 private void expectationsForGetPressureProvider()
throws Exception {
219 allowing(variableProviderRegistry()).getPressureProvider();
220 will(returnValue(pressureProvider()));
222 allowing(variableProviderRegistry()).hasPressureProvider();
223 will(returnValue(Boolean.TRUE));
225 allowing(pressureProvider()).setPollingInterval(
226 with(any(Duration.class))
228 allowing(pressureProvider()).addOnChangeListener(
233 private void expectationsForGetVoltageProvider()
throws Exception {
234 allowing(variableProviderRegistry()).getVoltageProvider();
235 will(returnValue(voltageProvider()));
236 allowing(variableProviderRegistry()).hasVoltageProvider();
237 will(returnValue(Boolean.TRUE));
CommPortReporter portReporter()
List< String > testData()