MonitoringManagerImpl implements MonitoringManager { @Override public List<String> getDeviceTypes() throws PolicyComplianceException { List<String> deviceTypes = new ArrayList<>(); try { if (PolicyManagementDataHolder.getInstance().getDeviceManagementService() != null) { deviceTypes = PolicyManagementDataHolder.getInstance().getDeviceManagementService().getPolicyMonitoringEnableDeviceTypes(); } } catch (DeviceManagementException e) { throw new PolicyComplianceException("Error occurred while getting the device types.", e); } return deviceTypes; } MonitoringManagerImpl(); @Override List<ComplianceFeature> checkPolicyCompliance(
            DeviceIdentifier deviceIdentifier,
            Object deviceResponse); @Override boolean isCompliant(DeviceIdentifier deviceIdentifier); @Override NonComplianceData getDevicePolicyCompliance(DeviceIdentifier deviceIdentifier); @Override void addMonitoringOperation(List<Device> devices); @Override List<String> getDeviceTypes();  }
@Test public void testGetDeviceTypes() throws Exception { monitoringManager.getDeviceTypes(); }