Refactoring of of inheritance structure, ControllerManagers will now also be able to be provided through plugins

This commit is contained in:
Ziver Koc 2021-03-16 22:24:43 +01:00
parent 28bc108921
commit c0188cd5cc
73 changed files with 1083 additions and 991 deletions

View file

@ -13,51 +13,51 @@ import static org.junit.Assert.assertTrue;
public class EventControllerManagerTest {
private ControllerManager manager = new ControllerManager();
private EventControllerManager manager = new EventControllerManager();
@Test
public void addAvailableEvent(){
assertEquals(0, manager.getAvailableEvents().size());
public void addAvailableEventDevice(){
assertEquals(0, manager.getAvailableDeviceConfigs().size());
manager.addAvailableEvent(TestEvent1.class);
assertEquals(1, manager.getAvailableEvents().size());
assertTrue(manager.getAvailableEvents().contains(TestEvent1.class));
manager.addAvailableDevice(TestEvent1.class);
assertEquals(1, manager.getAvailableDeviceConfigs().size());
assertTrue(manager.getAvailableDeviceConfigs().contains(TestEvent1.class));
manager.addAvailableEvent(TestEvent2.class);
assertEquals(2, manager.getAvailableEvents().size());
assertTrue(manager.getAvailableEvents().contains(TestEvent1.class));
assertTrue(manager.getAvailableEvents().contains(TestEvent2.class));
manager.addAvailableDevice(TestEvent2.class);
assertEquals(2, manager.getAvailableDeviceConfigs().size());
assertTrue(manager.getAvailableDeviceConfigs().contains(TestEvent1.class));
assertTrue(manager.getAvailableDeviceConfigs().contains(TestEvent2.class));
// Add duplicate Event
manager.addAvailableEvent(TestEvent1.class);
assertEquals("No duplicate check",2, manager.getAvailableEvents().size());
manager.addAvailableDevice(TestEvent1.class);
assertEquals("No duplicate check",2, manager.getAvailableDeviceConfigs().size());
}
@Test
public void registerUnavailableEvent(){
assertEquals(Collections.EMPTY_LIST, manager.getAvailableEvents());
assertEquals(Collections.EMPTY_LIST, manager.getAvailableDeviceConfigs());
Event Event = new Event();
Event.setDeviceConfig(new TestEvent1());
manager.register(Event);
assertEquals("No Event registered", Collections.EMPTY_LIST, manager.getRegisteredEvents());
assertEquals("No Event registered", Collections.EMPTY_LIST, manager.getRegisteredDevices());
}
@Test
public void registerOneEvent() {
Event Event1 = registerEvent(new TestEvent1());
assertEquals(1, manager.getRegisteredEvents().size());
assertTrue(manager.getRegisteredEvents().contains(Event1));
assertEquals(1, manager.getRegisteredDevices().size());
assertTrue(manager.getRegisteredDevices().contains(Event1));
}
public void registerTwoEvents(){
Event Event1 = registerEvent(new TestEvent1());
Event Event2 = registerEvent(new TestEvent2());
assertEquals(2, manager.getRegisteredEvents().size());
assertTrue(manager.getRegisteredEvents().contains(Event1));
assertTrue(manager.getRegisteredEvents().contains(Event2));
assertEquals(2, manager.getRegisteredDevices().size());
assertTrue(manager.getRegisteredDevices().contains(Event1));
assertTrue(manager.getRegisteredDevices().contains(Event2));
}
@ -65,7 +65,7 @@ public class EventControllerManagerTest {
public void deregisterEvent(){
Event Event1 = registerEvent(new TestEvent1());
manager.deregister(Event1);
assertEquals(Collections.EMPTY_LIST, manager.getRegisteredEvents());
assertEquals(Collections.EMPTY_LIST, manager.getRegisteredDevices());
}
@ -76,7 +76,7 @@ public class EventControllerManagerTest {
private Event registerEvent(HalEventConfig config){
Event Event = new Event();
Event.setDeviceConfig(config);
manager.addAvailableEvent(config.getClass());
manager.addAvailableDevice(config.getClass());
manager.register(Event);
return Event;
}
@ -84,12 +84,12 @@ public class EventControllerManagerTest {
public static class TestEvent1 implements HalEventConfig {
@Override
public Class<? extends HalEventController> getEventControllerClass() {
public Class<? extends HalEventController> getDeviceControllerClass() {
return TestController.class;
}
@Override
public Class<? extends HalEventData> getEventDataClass() {
public Class<? extends HalEventData> getDeviceDataClass() {
return OnOffEventData.class;
}
}
@ -97,12 +97,12 @@ public class EventControllerManagerTest {
public static class TestEvent2 implements HalEventConfig {
@Override
public Class<? extends HalEventController> getEventControllerClass() {
public Class<? extends HalEventController> getDeviceControllerClass() {
return TestController.class;
}
@Override
public Class<? extends HalEventData> getEventDataClass() {
public Class<? extends HalEventData> getDeviceDataClass() {
return OnOffEventData.class;
}
}
@ -111,7 +111,7 @@ public class EventControllerManagerTest {
int size;
@Override
public void initialize() throws Exception { }
public void initialize() { }
@Override
public void register(HalEventConfig event) {
@ -134,7 +134,7 @@ public class EventControllerManagerTest {
}
@Override
public void setListener(HalEventReportListener listener) { }
public void setListener(HalDeviceReportListener listener) { }
@Override
public void close() { }

View file

@ -1,10 +1,11 @@
package se.hal;
import org.junit.Test;
import se.hal.intf.HalAbstractController;
import se.hal.intf.HalDeviceReportListener;
import se.hal.intf.HalSensorConfig;
import se.hal.intf.HalSensorController;
import se.hal.intf.HalSensorData;
import se.hal.intf.HalSensorReportListener;
import se.hal.struct.Sensor;
import se.hal.struct.devicedata.HumiditySensorData;
import se.hal.struct.devicedata.TemperatureSensorData;
@ -16,52 +17,52 @@ import static org.junit.Assert.*;
public class SensorControllerManagerTest {
private ControllerManager manager = new ControllerManager();
private SensorControllerManager manager = new SensorControllerManager();
@Test
public void addAvailableSensor(){
assertEquals(Collections.EMPTY_LIST, manager.getAvailableSensors());
public void addAvailableDevice(){
assertEquals(Collections.EMPTY_LIST, manager.getAvailableDeviceConfigs());
manager.addAvailableSensor(TestSensor1.class);
assertEquals(1, manager.getAvailableSensors().size());
assertTrue(manager.getAvailableSensors().contains(TestSensor1.class));
manager.addAvailableDevice(TestSensor1.class);
assertEquals(1, manager.getAvailableDeviceConfigs().size());
assertTrue(manager.getAvailableDeviceConfigs().contains(TestSensor1.class));
manager.addAvailableSensor(TestSensor2.class);
assertEquals(2, manager.getAvailableSensors().size());
assertTrue(manager.getAvailableSensors().contains(TestSensor1.class));
assertTrue(manager.getAvailableSensors().contains(TestSensor2.class));
manager.addAvailableDevice(TestSensor2.class);
assertEquals(2, manager.getAvailableDeviceConfigs().size());
assertTrue(manager.getAvailableDeviceConfigs().contains(TestSensor1.class));
assertTrue(manager.getAvailableDeviceConfigs().contains(TestSensor2.class));
// Add duplicate sensor
manager.addAvailableSensor(TestSensor1.class);
assertEquals("No duplicate check",2, manager.getAvailableSensors().size());
manager.addAvailableDevice(TestSensor1.class);
assertEquals("No duplicate check",2, manager.getAvailableDeviceConfigs().size());
}
@Test
public void registerUnavailableSensor(){
assertEquals(Collections.EMPTY_LIST, manager.getAvailableSensors());
assertEquals(Collections.EMPTY_LIST, manager.getAvailableDeviceConfigs());
Sensor sensor = new Sensor();
sensor.setDeviceConfig(new TestSensor1());
manager.register(sensor);
assertEquals("No Sensor registered", Collections.EMPTY_LIST, manager.getRegisteredSensors());
assertEquals("No Sensor registered", Collections.EMPTY_LIST, manager.getRegisteredDevices());
}
@Test
public void registerOneSensor() {
Sensor sensor1 = registerSensor(new TestSensor1());
assertEquals(1, manager.getRegisteredSensors().size());
assertTrue(manager.getRegisteredSensors().contains(sensor1));
assertEquals(1, manager.getRegisteredDevices().size());
assertTrue(manager.getRegisteredDevices().contains(sensor1));
}
@Test
public void registerTwoSensors(){
Sensor sensor1 = registerSensor(new TestSensor1());
Sensor sensor2 = registerSensor(new TestSensor2());
assertEquals(2, manager.getRegisteredSensors().size());
assertTrue(manager.getRegisteredSensors().contains(sensor1));
assertTrue(manager.getRegisteredSensors().contains(sensor2));
assertEquals(2, manager.getRegisteredDevices().size());
assertTrue(manager.getRegisteredDevices().contains(sensor1));
assertTrue(manager.getRegisteredDevices().contains(sensor2));
}
@ -69,7 +70,7 @@ public class SensorControllerManagerTest {
public void deregisterSensor(){
Sensor sensor1 = registerSensor(new TestSensor1());
manager.deregister(sensor1);
assertEquals(Collections.EMPTY_LIST, manager.getRegisteredEvents());
assertEquals(Collections.EMPTY_LIST, manager.getRegisteredDevices());
}
@ -80,7 +81,7 @@ public class SensorControllerManagerTest {
private Sensor registerSensor(HalSensorConfig config){
Sensor sensor = new Sensor();
sensor.setDeviceConfig(config);
manager.addAvailableSensor(config.getClass());
manager.addAvailableDevice(config.getClass());
manager.register(sensor);
return sensor;
}
@ -99,12 +100,12 @@ public class SensorControllerManagerTest {
}
@Override
public Class<? extends HalSensorController> getSensorControllerClass() {
public Class<? extends HalAbstractController> getDeviceControllerClass() {
return TestController.class;
}
@Override
public Class<? extends HalSensorData> getSensorDataClass() {
public Class<? extends HalSensorData> getDeviceDataClass() {
return TemperatureSensorData.class;
}
}
@ -122,21 +123,21 @@ public class SensorControllerManagerTest {
}
@Override
public Class<? extends HalSensorController> getSensorControllerClass() {
public Class<? extends HalAbstractController> getDeviceControllerClass() {
return TestController.class;
}
@Override
public Class<? extends HalSensorData> getSensorDataClass() {
public Class<? extends HalSensorData> getDeviceDataClass() {
return HumiditySensorData.class;
}
}
public static class TestController implements HalSensorController{
public static class TestController implements HalSensorController {
int size;
@Override
public void initialize() throws Exception { }
public void initialize() { }
@Override
public void register(HalSensorConfig sensor) {
@ -152,7 +153,7 @@ public class SensorControllerManagerTest {
}
@Override
public void setListener(HalSensorReportListener listener) { }
public void setListener(HalDeviceReportListener listener) { }
@Override
public void close() { }