### Question:
DeviceManagerImpl implements DeviceManager { @Override public Map<String, String> getSignals() { Map<String, String> signalsMap = new HashMap<>(); signalsMap.put("timezone", Calendar.getInstance().getTimeZone().getID()); signalsMap.put("os", "android"); signalsMap.put("os_version", Build.VERSION.RELEASE); signalsMap.put("device", String.format("%s %s", Build.MANUFACTURER, Build.MODEL)); signalsMap.put("screen", getScreenSize()); signalsMap.put("source", "button-merchant"); final Locale locale = Locale.getDefault(); signalsMap.put("country", locale.getCountry()); signalsMap.put("language", locale.getLanguage()); return signalsMap; } @VisibleForTesting  DeviceManagerImpl(Context context); @WorkerThread @Nullable @Override String getAdvertisingId(); @Override Map<String, String> getSignals(); @Override String getTimeStamp(); @Override boolean isOldInstallation(); @Override String getUserAgent();  }### Answer:
@Test public void getSignals_assertRequiredKeys() { Map<String, String> signals = deviceManager.getSignals(); assertTrue(signals.containsKey("timezone")); assertTrue(signals.containsKey("os")); assertTrue(signals.containsKey("os_version")); assertTrue(signals.containsKey("device")); assertTrue(signals.containsKey("screen")); assertTrue(signals.containsKey("country")); assertTrue(signals.containsKey("language")); assertEquals("button-merchant", signals.get("source")); }